假设我有 dict。我不知道里面的键/值。如何在不执行 for 循环的情况下获取此键和值(字典中只有一项)。
你可能想知道为什么我在这种情况下使用字典。我的 API 中到处都有字典,我不希望用户迷路。这只是一致性的问题。否则,我会使用列表和索引。
假设我有 dict。我不知道里面的键/值。如何在不执行 for 循环的情况下获取此键和值(字典中只有一项)。
你可能想知道为什么我在这种情况下使用字典。我的 API 中到处都有字典,我不希望用户迷路。这只是一致性的问题。否则,我会使用列表和索引。
为作业使用正确的数据类型。您的目标应该是拥有可行的代码,而不是到处使用相同的数据类型。
如果您的字典仅包含一个键和一个值,则可以通过索引获得:
key = list(d)[0]
value = list(d.values())[0]
或同时获得:
key, value = list(d.items())[0]
这些list
调用是必需的,因为在 Python 3 中,.keys()
,.values()
和.items()
返回 dict 视图,而不是列表。
另一种选择是使用序列解包:
key, = d
value, = d.values()
或同时为两者:
(key, value), = d.items()
只需使用迭代器获取字典中的第一项
>>> d = {"foo":"bar"}
>>> k, v = next(iter(d.items()))
>>> k
'foo'
>>> v
'bar'
你可以这样做:
>>> d={1:'one'}
>>> k=list(d)[0]
>>> v=d[k]
在 Python 2 或 3 中工作
d.popitem()
会给你一个键值元组。