如果mydict不为空,则访问任意元素,如下:
mydict[mydict.keys()[0]]
还有什么更好的办法吗?
如果mydict不为空,则访问任意元素,如下:
mydict[mydict.keys()[0]]
还有什么更好的办法吗?
当前回答
first_key, *rest_keys = mydict
其他回答
没有外部库,适用于Python 2.7和3.x:
>>> list(set({"a":1, "b": 2}.values()))[0]
1
对于任意键,省略.values()
>>> list(set({"a":1, "b": 2}))[0]
'a'
first_key, *rest_keys = mydict
为了得到钥匙
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中不是。
对于Python 2和3:
import six
six.next(six.itervalues(d))
如果你只需要访问一个元素(碰巧是第一个元素,因为字典不保证顺序),你可以在Python 2中简单地这样做:
my_dict.keys()[0] # key of "first" element
my_dict.values()[0] # value of "first" element
my_dict.items()[0] # (key, value) tuple of "first" element
请注意(据我所知)Python不能保证连续两次调用这些方法中的任何一个都会返回相同顺序的list。Python3不支持这一点。
在Python 3中:
list(my_dict.keys())[0] # key of "first" element
list(my_dict.values())[0] # value of "first" element
list(my_dict.items())[0] # (key, value) tuple of "first" element