首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中访问字典中的任意元素

在Python中访问字典中的任意元素
EN

Stack Overflow用户
提问于 2010-06-23 07:24:02
回答 9查看 518.2K关注 0票数 559

如果mydict不为空,我访问任意元素,如下所示:

代码语言:javascript
复制
mydict[mydict.keys()[0]]

有没有更好的方法来做到这一点?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-06-23 07:28:50

在Python 3上,以非破坏性和迭代的方式:

代码语言:javascript
复制
next(iter(mydict.values()))

在Python 2上,以非破坏性和迭代的方式:

代码语言:javascript
复制
mydict.itervalues().next()

如果您希望它在Python2和Python3中都能工作,您可以使用six包:

代码语言:javascript
复制
six.next(six.itervalues(mydict))

虽然在这一点上它是相当神秘的,我更喜欢你的代码。

如果要删除任何项目,请执行以下操作:

代码语言:javascript
复制
key, value = mydict.popitem()

请注意,“第一个”在这里可能不是一个合适的术语,因为dict不是Python < 3.6中的有序类型。Python 3.6+ dicts是有序的。

票数 656
EN

Stack Overflow用户

发布于 2014-09-26 14:27:45

在python3中,方法是:

代码语言:javascript
复制
dict.keys() 

在类型: dict_keys()中返回一个值,通过这种方式获取dict的键的第一个成员时会得到一个错误:

代码语言:javascript
复制
dict.keys()[0]
TypeError: 'dict_keys' object does not support indexing

最后,我将dict.keys()转换为list @ Finally,并通过list拼接方法获得了第一个成员:

代码语言:javascript
复制
list(dict.keys())[0]
票数 61
EN

Stack Overflow用户

发布于 2016-09-02 20:12:45

获取密钥

代码语言:javascript
复制
next(iter(mydict))

获取值的步骤

代码语言:javascript
复制
next(iter(mydict.values()))

想要两者兼得

代码语言:javascript
复制
next(iter(mydict.items())) # or next(iter(mydict.viewitems())) in python 2

前两个是Python 2和3,后两个在Python 3中是惰性的,但在Python 2中不是。

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

https://stackoverflow.com/questions/3097866

复制
相关文章

相似问题

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