gpt4 book ai didi

Python:获取字典中索引的键

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

Possible Duplicate:
Inverse dictionary lookup - Python
reverse mapping of dictionary with Python

如何获取字典中的索引键?

例如:

i = {'a': 0, 'b': 1, 'c': 2}

所以如果我想得到 i[0] 的键,它会返回 'a'

最佳答案

可以做这样的事情:

i={'foo':'bar', 'baz':'huh?'}
keys=i.keys() #in python 3, you'll need `list(i.keys())`
values=i.values()
print keys[values.index("bar")] #'foo'

但是,每次更改字典时,都需要更新键、值,因为字典在 Python 3.7 之前的版本中没有排序。在这些版本中,每当您插入新的键/值对时,您认为的顺序就会消失,并被新的(或多或少随机的)顺序所取代。因此,在字典中查询索引是没有意义的。

从 Python 3.6 开始,对于 Python 的 CPython 实现,字典会记住插入项目的顺序。从 Python 3.7+ 开始,字典按插入顺序排序。

另请注意,您所要求的可能不是您真正想要的。不能保证字典中的逆映射是唯一的。换句话说,您可以拥有以下字典:

d={'i':1, 'j':1}

在这种情况下,不可能知道你想要 i 还是 j,事实上这里没有答案可以告诉你哪个 (' i''j') 将被选中(同样,因为字典是无序的)。你想在那种情况下发生什么?你可以得到一个可接受的键列表......但我猜你对字典的基本理解不太正确。

关于Python:获取字典中索引的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632905/

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