Python:按字母顺序迭代 OrderedDict

标签 python python-2.7 ordereddictionary

在脚本中,我有一个 OrderedDict groups ,它按字母顺序获取键/值对。

在脚本的另一部分,我正在检查与 key 相同的文件,如下所示:

for (key, value) in groups.items():        
    file = open(key, 'r') 
    # do stuff

事情发生得很好,其中一部分是为每个文件打印一个状态行,但是我怎样才能让Python按字母顺序或至少按数字顺序迭代(因为它们无论如何都是按字母顺序输入的)?

最佳答案

OrderedDict 的全部意义在于,您可以按照输入键的顺序正常迭代它:

>>> from collections import OrderedDict
>>> d = OrderedDict()
>>> d[1] = 2
>>> d[0] = 3
>>> d[9] = 2
>>> for k, v in d.items():
        print(k, v)


(1, 2)
(0, 3)
(9, 2)

只需确保您没有向 OrderedDict(...) 提供字典来初始化它,否则它会以无序的方式开始。

关于Python:按字母顺序迭代 OrderedDict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705580/

相关文章:

python - python中 boolean 向量的延迟

python - 用列表中的元素替换行

python - 导入我的 'random' 文件时脚本失败

python - 如何使用 pandas 创建一个列来标识直到另一列中下一次出现某个值为止的行数?

python - 如何在执行开始时通过 PTVS 附加到正在运行的 python 脚本

python - Python 的 OrderedDict 如何记住插入的元素?

python - 如何根据文件中的一个占位符写入字典键和值

postgresql - 尝试将用户的输入插入 SQL 表时出错

python - odoo 9 获取当前记录中的字段值

Python 地向字典添加键