我需要访问字典

时间:2015-10-12 16:54:14

标签: python dictionary key

所以我有这个词典对文本文件进行排序。此文本文件是由等号分隔的列表(即Packagename = versionnumber)。

解析文件后:

mydict = {}
with open('security-updates.txt') as f: 
    for line in f.readlines():
        mykey, sep, myval = line.partition('=')
        mydict[mykey] = mykey
        mydict[myval] = myval

当我尝试访问mydict[mykey]时,它只返回列表中的最后一个。当我尝试访问mydict[myval]时,它只返回列表中的最后一个。我需要能够说出所有' mykey""或者"所有' myval"在字典里。有没有办法做到这一点?

更新代码

mydict = {}
with open('chef-security-updates.txt') as f:
    for line in f.readlines():
        mykey,sep,ver_val = line.partition('=')
        mydict[mykey] = myval

mydict.keys()

这是整个街区。由于某些原因,我发现我不能print(mydict.keys()),但是当我设置mykeys = mydict.keys()时,我可以打印mykeys。打印功能抛出了类型错误。一切似乎现在都有效。干杯,每个人都帮助我。

1 个答案:

答案 0 :(得分:0)

您正在创建字典错误。应该是这样的:

mydict = {}
with open('security-updates.txt') as f: 
    for line in f.readlines():
        mykey, sep, myval = line.partition('=')
        mydict[mykey] = myval
mydict.keys()           # all the keys of the dict
mydict.values()         # all the values of the dict