如果mydict不为空,则访问任意元素,如下:
mydict[mydict.keys()[0]]
还有什么更好的办法吗?
如果mydict不为空,则访问任意元素,如下:
mydict[mydict.keys()[0]]
还有什么更好的办法吗?
当前回答
没有外部库,适用于Python 2.7和3.x:
>>> list(set({"a":1, "b": 2}.values()))[0]
1
对于任意键,省略.values()
>>> list(set({"a":1, "b": 2}))[0]
'a'
其他回答
对于Python 2和3:
import six
six.next(six.itervalues(d))
first_key, *rest_keys = mydict
这个怎么样。这里还没有提到。
Py 2和Py 3
a = {"a":2,"b":3}
a[list(a)[0]] # the first element is here
>>> 2
为了得到钥匙
next(iter(mydict))
得到一个值
next(iter(mydict.values()))
两者兼得
next(iter(mydict.items())) # or next(iter(mydict.viewitems())) in python 2
前两个是Python 2和3。后两个在python3中是lazy,但在python2中不是。
在python3中,方法是:
dict.keys()
返回一个类型为:dict_keys()的值,当获取dict的key的第一个成员时,我们将得到一个错误:
dict.keys()[0]
TypeError: 'dict_keys' object does not support indexing
最后,我将dict.keys()转换为list @1st,并通过列表拼接方法获得了第一个成员:
list(dict.keys())[0]