如果 mydict
不为空,我访问任意元素为:
mydict[mydict.keys()[0]]
有没有更好的方法来做到这一点?
原文由 Stan 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果 mydict
不为空,我访问任意元素为:
mydict[mydict.keys()[0]]
有没有更好的方法来做到这一点?
原文由 Stan 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您只需要访问一个元素(偶然成为第一个元素,因为字典不保证顺序),您可以在 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 不保证对这些方法中的任何一个的 2 次连续调用将返回具有相同顺序的列表。 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
原文由 swK 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答936 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
在 Python 3 上,以非破坏性和迭代方式:
在 Python 2 上,以非破坏性和迭代方式:
如果你想让它在 Python 2 和 3 中工作,你可以使用
six
包:虽然在这一点上它非常神秘,但我更喜欢你的代码。
如果要删除任何项目,请执行以下操作:
请注意,“第一”在这里可能不是一个合适的术语,因为
dict
不是 Python < 3.6 中的有序类型。 Python 3.6+dicts
已订购。