python文档意味着列表中可以存在重复项,assignmnet支持这一点:list=[“word1”,“word1”]。但是,如果Python的append()已经在列表中,那么它似乎没有添加项。我是在这里遗漏了什么,还是这是一种故意的set()行为?
>> d = {}
>> d["word1"] = 1
>> d["word2"] = 2
>> d["word2"] = 3
>> vocab = []
>> for word,freq in d.iteritems():
>> ... vocab.append(word)
>> for item in vocab:
>> ... print item
返回:
word1
word2
第二个词2在哪里?
没有第二个
"word2"
,因为dict
s每个键只有一个条目。这是哈希表支持的映射的常见行为。请注意,如果您只需要
dict
的键,请使用dict.keys()
。没有第二个词。
字典将特定键映射到特定值。如果您希望一个键对应多个值,通常会使用一个列表,而defaultdict非常方便:
你先把这些词编入词典。字典不接受重复项,因此当您在字典中输入同一个键两次时,第二个条目将覆盖第一个条目。然后,当你遍历字典中的键时,你不会得到重复的。
在包含重复项的列表上迭代的工作方式与预期的一样:
相关问题 更多 >
编程相关推荐