我有一段按字母顺序排列字典的代码.

import collections
initial = dict(a=1, b=2, c=2, d=1, e=3)
ordered_dict = collections.OrderedDict(sorted(initial.items(), key=lambda t: t[0]))
print(ordered_dict)

OrderedDict([('a', 1), ('b', 2), ('c', 2), ('d', 1), ('e', 3)])

我想在…的脉络上发挥一些作用...

select = int(input("Input dictionary index"))
#User inputs 2
#Program looks up the 2nd entry in ordered_dict (c in this case)
#And then returns the value of c (2 in this case)

如何做到这一点?

(类似于Accessing Items In a ordereddict,但我只想输出键值对的值.)

推荐答案

在Python 2中:

如果要访问密钥:

>>> ordered_dict = OrderedDict([('a', 1), ('b', 2), ('c', 2), ('d', 1), ('e', 3)])
>>> ordered_dict.keys()[2]
'c'

如果要访问该值:

>>> ordered_dict.values()[2]
2

如果您使用的是Python 3,则可以通过将keys方法返回的KeysView对象包装为列表来转换它:

>>> list(ordered_dict.keys())[2]
'c'
>>> list(ordered_dict.values())[2]
2

这不是最漂亮的解决方案,但它确实有效.

Python-3.x相关问答推荐

Pandas 中每行的最大值范围

在循环访问XML中的多个层时,xml.etree.Elementree Python3解析器不起作用

Django将任何查询显示为html表格

我想判断df_entry_log[AM_PM],并根据测试填充列

从PYTHON中获取单行和多行的Rguar表达式

向前/向后移动导致移动行的数据不可见

为什么 get_form 方法中小部件的更改没有反映 Django 管理站点中的更改

Django中自动设置/更新字段

拆分列表的元素并将拆分后的元素包含到列表中

根据按不同列中的值分组的平均值划分 DataFrame

如何将列表和字典逐行组合在一起

以不规则频率识别数据框日期时间列上缺失的日期,并用关联值填充它们

缺失时推断的数据类可选字段

将逗号分隔的字符串类型系列转换为整数列表 pandas

pymongo 失败并出现错误未定义

如何准确测定cv2的结果.在BW/黑白图像中查找对象?

两个Pandas数据框中的共同列列表

如何从 Python 3.5 降级到 Python 3.4

逗号分隔列表的 argparse 操作或类型

从 csv 中删除单行而不复制文件