>> d.items() [('a', 1)] >-6ren">
gpt4 book ai didi

python - 如何在变量中提取字典单键值对

转载 作者:IT老高 更新时间:2023-10-28 21:59:14 25 4
gpt4 key购买 nike

我的字典中只有一个键值对。我想将键分配给一个变量它是另一个变量的值。我已经尝试了以下方法,但我得到了同样的错误。

>>> d = {"a": 1}

>>> d.items()
[('a', 1)]

>>> (k, v) = d.items()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack

>>> (k, v) = list(d.items())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack

我知道我们可以一个一个地提取键和值,或者通过 for 循环和 iteritems(),但是没有一种简单的方法可以在单个语句中分配两者?

最佳答案

使用元组(只是逗号)添加另一个级别:

(k, v), = d.items()

或使用列表:

[(k, v)] = d.items()

或者挑出第一个元素:

k, v = d.items()[0]

前两个具有额外的优势,如果您的字典有多个键,它们会抛出异常,并且两者都适用于 Python 3,而后者必须拼写为 k, v = next(iter( d.items())) 工作。

演示:

>>> d = {'foo': 'bar'}
>>> (k, v), = d.items()
>>> k, v
('foo', 'bar')
>>> [(k, v)] = d.items()
>>> k, v
('foo', 'bar')
>>> k, v = d.items()[0]
>>> k, v
('foo', 'bar')
>>> k, v = next(iter(d.items())) # Python 2 & 3 compatible
>>> k, v
('foo', 'bar')

关于python - 如何在变量中提取字典单键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20145902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com