Python,如何同时打印所有键的值? [重复]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

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

有一个命令可以打印字典的所有键。

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

for x in list:
   print(x)

输出将是:

key1
key2

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

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

输出将是:

value1

我想知道的是,有一个命令会使用一个命令同时打印所有键的所有值(就像我们使用键一样),而不是逐个访问它们。

希望我很清楚,谢谢。

python list dictionary key
2个回答
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不是一个好习惯。


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

© www.soinside.com 2019 - 2024. All rights reserved.