如何知道Python有序字典中项目的位置

发布于 2024-11-27 07:34:25 字数 317 浏览 2 评论 0原文

我们能知道Python有序字典中项目的位置吗?

例如:

如果我有字典:

// Ordered_dict is OrderedDictionary

Ordered_dict = {"fruit": "banana", "drinks": "water", "animal": "cat"}

现在我怎么知道 cat 属于哪个位置? 是否有可能得到如下答案:

position (Ordered_dict["animal"]) = 2 ? 或以其他方式?

Can we know the position of items in Python's ordered dictionary?

For example:

If I have dictionary:

// Ordered_dict is OrderedDictionary

Ordered_dict = {"fruit": "banana", "drinks": "water", "animal": "cat"}

Now how do I know in which position cat belongs to?
Is it possible to get an answer like:

position (Ordered_dict["animal"]) = 2 ? or in some other way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流星番茄 2024-12-04 07:34:25

您可以使用 keys 属性获得键列表:

In [20]: d=OrderedDict((("fruit", "banana"), ("drinks", 'water'), ("animal", "cat")))

In [21]: d.keys().index('animal')
Out[21]: 2

不过,使用 iterkeys() 可以获得更好的性能。

对于那些使用 Python 3 的人:

>>> list(d.keys()).index('animal')
2

You may get a list of keys with the keys property:

In [20]: d=OrderedDict((("fruit", "banana"), ("drinks", 'water'), ("animal", "cat")))

In [21]: d.keys().index('animal')
Out[21]: 2

Better performance could be achieved with the use of iterkeys() though.

For those using Python 3:

>>> list(d.keys()).index('animal')
2
不奢求什么 2024-12-04 07:34:25

对于Python3: tuple(d).index('animal')

这与上面 Marein 的答案几乎相同,但使用不可变元组而不是可变列表。所以它应该运行得更快一点(在我的快速健全性检查中大约快 12%)。

For Python3: tuple(d).index('animal')

This is almost the same as Marein's answer above, but uses an immutable tuple instead of a mutable list. So it should run a little bit faster (~12% faster in my quick sanity check).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文