我需要访问字典中的所有键和所有值
I need to access ALL keys and ALL values in a dictionary
所以我有这本字典可以对文本文件进行排序。此文本文件是由等号分隔的列表(即 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]
时,它只 returns 列表中的最后一个 key。当我尝试访问 mydict[myval]
时,它只 returns 列表中的最后一个 value。我需要能够在字典中说 "ALL 'mykey's" 或 "ALL 'myval's"。有办法吗?
更新代码
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
。打印函数抛出类型错误。现在似乎一切正常。干杯,大家帮助我。
您创建的字典有误。它应该是这样的:
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
所以我有这本字典可以对文本文件进行排序。此文本文件是由等号分隔的列表(即 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]
时,它只 returns 列表中的最后一个 key。当我尝试访问 mydict[myval]
时,它只 returns 列表中的最后一个 value。我需要能够在字典中说 "ALL 'mykey's" 或 "ALL 'myval's"。有办法吗?
更新代码
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
。打印函数抛出类型错误。现在似乎一切正常。干杯,大家帮助我。
您创建的字典有误。它应该是这样的:
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