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