我有一本字典,其中每个键都有一个列表作为其值,并且这些列表的大小不同。我使用 add 和 set 填充键和值(以避免重复)。如果我输出我的字典,输出是:
blizzard set(['00:13:e8:17:9f:25', '00:21:6a:33:81:50', '58:bc:27:13:37:c9', '00:19:d2:33:ad:9d'])
alpha_jian set(['00:13:e8:17:9f:25'])
在这里,blizzard 和 alpha_jian 是我字典中的两个键。
现在,我有另一个文本文件,它有两列,如
00:21:6a:33:81:50 45
00:13:e8:17:9f:25 59
如您所见,第一列项目是我的字典每个列表中的一个条目。例如,00:21:6a:33:81:50 属于键 'blizzard',而 00:13:e8:17:9f:25 属于键 'alpha_jian'。
我想要的问题是,浏览我的文本文件中的第一列项目,如果在字典中找到该列条目,找到其对应的键,在字典中找到对应列表的长度,然后将它们添加到新字典中,比如说新词典。
例如 00:21:6a:33:81:50 属于暴雪。因此,newDict 条目将是:
newDict[blizzard] = 4 // since the blizzard key corresponds to a list of length 4.
这是我希望执行此任务的代码:
newDict = dict()
# myDict is present with entries like specified above
with open("input.txt") as f:
for line in f:
fields = line.split("\t")
for key, value in myDict.items():
if fields[0] == #Some Expression:
newdict[key] = len(value)
print newDict
在这里,我的问题是上面代码中的#Some Expression 应该是什么。如果值不是列表,这很容易。但是如何在列表中搜索?提前致谢。