我刚刚开始学习Python,但有一个问题没有找到答案。
有一条命令可以打印出字典ex的所有键。
list = {
"key1": "value1",
"key2": "value2"
}
for x in list:
print(x)
输出将是:
key1
key2
还有一条命令将打印指定键的值
y = list["key1"]
print(y)
输出将是:
value1
我想知道的是,有什么命令可以用一个命令同时打印所有键的所有值(就像我们对键所做的一样),而不是一个一个地访问它们。
希望我已经足够清楚了,谢谢。
答案 0 :(得分:5)
您可以使用.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
并不是一个好习惯。
答案 1 :(得分:0)
首先,我不会使用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。