我对这个python代码有些头痛。在从列表创建字典时丢失python代码中的元素?
print "length:", len(pub) # length: 420
pub_dict = dict((p.key, p) for p in pub)
print "dict:", len(pub_dict) # length: 163
如果我没有理解这个权利,我得到包含属性p.key
为重点,并作为其的pub
每个元素值的对象p
的字典。是否有一些副作用我没看到?因为len(pub_dict)
应该和len(pub)
一样,它肯定不在这里,还是我误解了?
如果在'pub'中有多个'p'与'p.key'相同,最后一个最终会出现在词典中,因为它每个键只能保存一个值。 – 2011-06-05 19:43:48
@Sven:是的,有一些!感谢您指出了这一点!现在我知道错误来自哪里。也许你想把你的评论变成答案,所以我可以接受它。 – Aufwind 2011-06-05 19:44:32