首页 / PYTHON / 在Python中检索单个字典元素
在Python中检索单个字典元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Python中检索单个字典元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1646字,纯文字阅读大概需要3分钟。
内容图文
![在Python中检索单个字典元素](/upload/InfoBanner/zyjiaocheng/725/1c07b61a41dc464899cd03adc1ea3745.jpg)
参见英文答案 > In what order does python display dictionary keys? 4个
我想只检索字典“e”中的第四项(下面).
我尝试使用OrderedDict()方法,但它没有用.这是我的结果:
from collections import OrderedDict
e = OrderedDict()
e = {'a': 'A',
'b': 'B',
'c': 'C',
'd': 'D',
'e': 'E'
}
for k, v in e.items():
print k, v
print e.items()[3]
最后一行返回:(‘e’,’E’)
所以我将键和值转换为列表,但是这些列表在我打印时是如何出现的:
['a', 'c', 'b', 'e', 'd']
['A', 'C', 'B', 'E', 'D']
对我来说,这解释了它为什么会发生,但不是如何发生的.
所以,接下来我整理了它们.这给了我正在寻找的结果 – 但它似乎不必要地复杂化:
e = {'a': 'A',
'b': 'B',
'c': 'C',
'd': 'D',
'e': 'E'
}
k, v = sorted(e.keys()), sorted(e.values())
print "{}: {}".format(k[3], v[3])
结果:
d:D
OrderedDict()不是必需的.
有更简单的方法吗?有人可以解释为什么字典中的元素是这样排序的:
keys: 'a', 'c', 'b', 'e', 'd'
values: 'A', 'C', 'B', 'E', 'D'
……这违反了我原来字典的结构?
解决方法:
你没有使用有序的字典.
e = OrderedDict()
e = {'a': 'A',
'b': 'B',
'c': 'C',
'd': 'D',
'e': 'E'
}
第一行创建一个OrderedDict.第二行抛弃它并用普通的dict替换它,这是无序的. (Python变量没有类型.)
但你不能这样做:
e = OrderedDict({'a': 'A', ...})
…因为它仍然是一个普通的dict,它仍然是无序的,OrderedDict不能神奇地重新创建你原来的源序.
试试这个:
e = OrderedDict([('a', 'A'), ('b', 'B'), ...])
现在你应该有一个类似于dict的对象,你想要的顺序.
And can someone explain why the elements in the dictionary are ordered like this … which defies the structure of my original dictionary?
因为字典是无序的.它们只是哈希映射,而哈希映射没有固有的排序.
请注意,您也可以这样做,这将保留键和值的配对(而不是单独的排序):
print sorted(e.items())[3]
内容总结
以上是互联网集市为您收集整理的在Python中检索单个字典元素全部内容,希望文章能够帮你解决在Python中检索单个字典元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。