【问题标题】:Python, how to print the value of all keys at same time? [duplicate]Python,如何同时打印所有键的值? [复制]
【发布时间】:2019-02-22 19:23:20
【问题描述】:

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

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

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

for x in list:
   print(x)

输出将是:

key1
key2

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

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

输出将是:

value1

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

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

【问题讨论】:

    标签: python list dictionary key


    【解决方案1】:

    你可以使用.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 不是一个好习惯。

    【讨论】:

    • 是的,使用 var name 作为 dict 的列表是我的错误,我不会再犯这个错误了,这解决了我的问题,即使它说我的问题是重复的 我检查了我没有的另一个问题代码看不懂,非常感谢
    【解决方案2】:

    首先,我不会使用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

    【讨论】:

      猜你喜欢
      • 2018-05-16
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多