我有一个列表,包含50个项目:
print(len(per_column[0]))
会返回50个项目,而print(len(per_column[1]))
也会返回50个项目。
我想把它变成字典。所以我这样做:
HashDict = dict(zip(per_column[0], per_column[1]))
但这导致字典仅包含47个项目,而不是50个(由print(len(HashDict))
验证)。退后一步,如果我只压缩列表(不创建字典),我实际上仍然可以获得50个项目:
zipList = zip(per_column[0], per_column[1])
当我尝试将压缩列表转换为字典时,似乎出现了问题。我忽略了什么吗?
答案 0 :(得分:4)
第一个列表只有47个唯一项;较旧的物品正在被较新的物品取代。
答案 1 :(得分:0)
如果您丢失了商品,那将是因为per_column[0]
中的重复键。
答案 2 :(得分:0)
您的问题是第一个列表中的重复值。由于dict
不能包含重复键,因此其长度会更短。您可以使用以下命令在列表中找到重复值:
from collections import Counter
fields = Counter(per_column[0])
print fields.most_common()