这个问题在这里已有答案:
我刚刚开始学习Python,我有一个问题,我找不到答案。
有一个命令可以打印字典的所有键。
list = {
"key1": "value1",
"key2": "value2"
}
for x in list:
print(x)
输出将是:
key1
key2
还有一个命令将打印指定键的值
y = list["key1"]
print(y)
输出将是:
value1
我想知道的是,有一个命令会使用一个命令同时打印所有键的所有值(就像我们使用键一样),而不是逐个访问它们。
希望我很清楚,谢谢。
你可以使用.values
:
my_dict = {
"key1": "value1",
"key2": "value2"
}
print(*my_dict.values(), sep='\n')
或者,如果您只想要键,可以使用.keys
:
print(*my_dict.keys(), sep='\n')
或者如果你想要键和值对,你可以使用.items
:
print(*my_dict.items(), sep='\n')
注意:使用变量名称作为list
不是一个好习惯。
首先,我不会将list
用作词典的名称,因为list
是一个实际的Python命令。但如果“mydict”是你的字典名称,那么mydict.keys()
将返回所有键的列表,而mydict.values()
将对值进行相同的操作。如果要将所有这些打印为单个字符串,可以添加join
命令:
>>> mydict = {"key1": "value1", "key2": "value2"}
>>> ', '.join(mydict.values())
'value2, value1'
>>> print('\n'.join(mydict.values()))
value2
value1
请注意,Python中的字典没有排序,因此派生列表不一定反映您输入值的顺序。如果您想要动态地按字母顺序对列表进行排序,您可以这样做:
>>> print('\n'.join(sorted(mydict.values())))
value1
value2
但是,如果您想要一个首先会有某种顺序的字典,那么您可能需要查看Ordered Dictionaries。