首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python OrderedDict获得

python OrderedDict获得
EN

Stack Overflow用户
提问于 2018-04-04 04:36:44
回答 5查看 7.7K关注 0票数 2

OrderedDict能得到关键位置吗?

就像list of index()

代码语言:javascript
运行
复制
test = ['a', 'b', 'c', 'd', 'e']
test.index('b') # return 1
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-04-04 05:04:34

只有一行程序。例如:

代码语言:javascript
运行
复制
print(list(your_ordered_dict).index('your_key'))

也许您可以使用lambda,比如这个行程序:

代码语言:javascript
运行
复制
f = lambda ordered_dict, key: list(ordered_dict).index(key)

祝好运。

票数 7
EN

Stack Overflow用户

发布于 2018-04-04 04:58:07

保持简单。

代码语言:javascript
运行
复制
from collections import OrderedDict

x = OrderedDict('test1'='a', 'test2'='b')
print(list(x.keys().index('test1'))
票数 2
EN

Stack Overflow用户

发布于 2018-04-04 04:42:57

你可以用两种方式写这个:

  • list(x).index('b')
  • next(i for i, k in enumerate(x) if k=='b')

对于小块来说,第一个要快一些,但是要慢得多,浪费大量的空间,大的块。(当然,大多数情况下,OrderedDict是相当小的。)

这两个版本都适用于任何可迭代的;这里的OrderedDict没有什么特别之处。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49642873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档