字典在不知道密钥的情况下获取值

Yun*_*nti 17 python dictionary

在python中,如果我有一个具有单个键值对的字典,并且如果我不知道键可能是什么,我怎样才能获得该值?

(如果我有一个带有多个键,值对的dict,如何在不知道任何键的情况下返回任何一个值?)

Del*_*gan 30

你只需要使用dict.values().

这将返回一个包含字典所有值的列表,而不必指定任何键.

您也可能对...有兴趣:

  • .keys():返回包含键的列表
  • .items():返回元组列表 (key, value)

请注意,在Python 3中,返回的值实际上不是正确的列表而是视图对象.

  • 你总是可以使用 `list()` @Yunti 来创建一个列表 (3认同)
  • 对于单项字典来说似乎有点过分了...(在 Python 3 中,您需要使用 `values()`,然后转换为列表,然后获取第一项...)真的没有其他方法吗? (3认同)
  • @Yunti 要获取单个值,只需执行 `dict.values()[0]` (2认同)

css*_*hus 9

除了 Delgan 的出色回答之外,这里还有一个 Python 3 示例,演示了如何使用视图对象:

在 Python 3 中,您可以在不知道/使用键的情况下打印值,因此:

for item in my_dict:
    print( list( item.values() )[0] )
Run Code Online (Sandbox Code Playgroud)

例子:

for item in my_dict:
    print( list( item.values() )[0] )
Run Code Online (Sandbox Code Playgroud)

该 Py3 文档再次参考:

https://docs.python.org/3.5/library/stdtypes.html#dict-views


Dim*_*sky 6

其他解决方案,使用popitem和拆包:

d = {"unknow_key": "value"}
_, v = d.popitem()
assert v == "value"
Run Code Online (Sandbox Code Playgroud)