python - `tabulate` 按键排序列

标签 python python-2.7

我想以不同的列顺序打印我的列表输出。我使用 tabulate 但可以使用其他工具。字符串具有不同的长度,部分问题是“自动”定义列长度,而 tabulate 确实做得很好!

代码:

parameter_list = []
parameter_list.append({
    'A': "Hello",
    'B': "You",
    'C': False
})
parameter_list.append({
    'A': "Salue",
    'B': "Tu",
    'C': False
})

print tabulate(parameter_list, headers='keys')

输出 - IS:

A     B   C
----- --- -----
Hello You False
Salue Tu  False

输出 - 想要:

C     A     B
----- ----- ---
False Hello You
False Salue Tu

最佳答案

原因是因为你的dict是无序的。您可以使用 OrderedDict来自 collections模块。

>>> from collections import OrderedDict
>>> from tabulate import tabulate
>>> parameter_list = []
>>> parameter_list.append(OrderedDict([('C', False), ('A', 'Hello'), ('B', 'you')]))
>>> parameter_list.append(OrderedDict([('C', False), ('A', 'Salue'), ('B', 'Tu')]))
>>> print tabulate(parameter_list, headers='keys')
  C  A      B
---  -----  ---
  0  Hello  you
  0  Salue  Tu

关于python - `tabulate` 按键排序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36085956/

相关文章:

python - 两个 Python 脚本之间如何传输数据

python - 用动态源(数据库)替换 Celery Beat "CELERYBEAT_SCHEDULE"

python - 如何在文本文件中多次出现某些单词后提取 3000 个字符?

python - 如何在条件检查时从现有数据帧复制数据帧中的选定行? [Python]

python - 框架 argparse - 检查是否设置了标志

python - 在Python中销毁Singleton对象

python - 制作向量的多维列表

python - 如何将最新安装的 Python 设置为默认版本?

Python:从字典中替换文本文件中的多个单词

Django v1.6 调试工具栏中间件错误 No .rsplit()