想象一下我有一个 dict
像这样:
d = {'key': 'value'}
dict
只包含一个键值。 I am trying to get key
from this dict
, I tried d.keys()[0]
but it returns IndexError
, I tried this:
list(d.keys())[0]
它工作得很好,但我认为这不是一个好方法,因为它创建了一个新列表,然后首先获取它的索引。
有一个更好的方法吗?我也想得到 value
。
原文由 Mehrdad Pedramfar 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您知道(或期望)只有一对键/值,那么您可以使用解包来获取键和值。例如。
您可以更进一步,也可以解压键/值对。
当然,如果字典有多个键/值对,这会引发错误。但这很有用。字典在 python 3.7 之前是无序的(
dict
在 CPython 3.6 中是有序的,但它是一个实现细节),所以做list(d.items())[0]
会给出不一致的结果。即使在 3.7+ 中,排序也超过了插入,而不是键的任何自然排序,因此您仍然可以获得令人惊讶的结果。