首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >` `tabulate`‘按键排序列

` `tabulate`‘按键排序列
EN

Stack Overflow用户
提问于 2016-03-18 13:41:22
回答 1查看 6.1K关注 0票数 4

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

代码:

代码语言:javascript
复制
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:

代码语言:javascript
复制
A     B   C
----- --- -----
Hello You False
Salue Tu  False

输出-希望:

代码语言:javascript
复制
C     A     B
----- ----- ---
False Hello You
False Salue Tu
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-18 14:02:42

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

代码语言:javascript
复制
>>> 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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36085956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档