如何获取仅包含一个项的字典中的键值对?

5 投票
4 回答
6214 浏览
提问于 2025-04-17 18:49

假设我有一个字典(dict),里面的键和值我都不知道。那我该怎么获取这个键和值,而不使用循环(因为字典里只有一个项目)呢?

你可能会问,为什么我在这种情况下还要用字典。其实在我的API中到处都是字典,我不想让用户感到困惑。这样做只是为了保持一致性。要不然我就会用列表和索引了。

相关问题:

4 个回答

1

你可以这样做:

>>> d={1:'one'}
>>> k=list(d)[0]
>>> v=d[k]

在Python 2和3中都可以使用

7

只需使用迭代器获取字典中的第一个项目

>>> d = {"foo":"bar"}
>>> k, v = next(iter(d.items()))
>>> k
'foo'
>>> v
'bar'
12

使用合适的数据类型来完成任务。你的目标应该是写出能正常工作的代码,而不是到处都用同一种数据类型。

如果你的字典里只包含 一个 键和 一个 值,你可以通过索引来获取它们:

key = list(d)[0]
value = list(d.values())[0]

或者你也可以同时获取这两个:

key, value = list(d.items())[0]

在Python 3中,.keys().values().items() 返回的是字典视图,而不是列表,所以需要用 list 来转换。

另一种选择是使用序列解包:

key, = d
value, = d.values()

或者你也可以同时获取这两个:

(key, value), = d.items()

撰写回答