Python,如何同时打印所有键的值?

时间:2019-02-22 19:23:21

标签: python list dictionary key

我刚刚开始学习Python,但有一个问题没有找到答案。

有一条命令可以打印出字典ex的所有键。

list = {
 "key1": "value1",
 "key2": "value2"
}

for x in list:
   print(x)

输出将是:

key1
key2

还有一条命令将打印指定键的值

y = list["key1"]
print(y)

输出将是:

value1

我想知道的是,有什么命令可以用一个命令同时打印所有键的所有值(就像我们对键所做的一样),而不是一个一个地访问它们。

希望我已经足够清楚了,谢谢。

2 个答案:

答案 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