如何在Python中将列表字典格式化为表?
我想将其打印为包含3列的表格,如:如何在Python中将列表字典格式化为表?,python,dictionary,Python,Dictionary,我想将其打印为包含3列的表格,如: dic = {'S00:D58': 1, 'M23:Q14': 1, 'S43:H52': 84, 'S43:H53': 2, 'S43:H50': 5, 'S43:H57': 1, 'M87:E11': 10} 有没有一种简单的方法可以实现这一点?您可以使用ljust来实现这一点: S00 D58 1 M23 Q14 1 S43 H52
dic = {'S00:D58': 1, 'M23:Q14': 1, 'S43:H52': 84,
'S43:H53': 2, 'S43:H50': 5, 'S43:H57': 1, 'M87:E11': 10}
有没有一种简单的方法可以实现这一点?您可以使用
ljust
来实现这一点:
S00 D58 1
M23 Q14 1
S43 H52 84
S43 H53 2
S43 H50 5
S43 H57 1
M87 E11 10
将打印以下内容:
for k,v in dic.items():
a,b = k.split(':')
print a.ljust(30), b.ljust(30), v
从:
这些函数分别为左对齐、右对齐和居中对齐
指定宽度字段中的字符串。它们返回一个字符串,该字符串位于
最小宽度字符宽度,通过在字符串s中填充
字符fillchar(默认为空格)直到
右、左或两侧。字符串永远不会被截断
请注意,您也可以使用来获得相同的效果:
S00 D58 1
M23 Q14 1
S43 H52 84
S43 H53 2
S43 H50 5
S43 H57 1
M87 E11 10
print'{:您还可以使用字符串格式化方法:
dic={'S00:D58':1,'M23:Q14':1,'S43:H52':84,
'S43:H53':2,'S43:H50':5,'S43:H57':1,'M87:E11':10}
>>>
>>>output='\n'.join(['{:我有一个简单的问题!你知道如何用制表符分隔符排序吗?如果你想排序,你可以使用collections.orderedict(sorted(dic.items())
按键排序。
print '{:<30s}{:<30s}{}'.format(a, b, v)
for k, v in dic.items():
a, b = k.split(':')
print '{:30s}{:30s}{}'.format(a, b, v)
>>> dic = {'S00:D58': 1, 'M23:Q14': 1, 'S43:H52': 84,
'S43:H53': 2, 'S43:H50': 5, 'S43:H57': 1, 'M87:E11': 10}
>>>
>>> output = '\n'.join(['{:<10} {:<10} {:<10}'.format(*k.split(':'), dic[k]) for k in dic])
>>> print(output)
S43 H52 84
S43 H53 2
S00 D58 1
S43 H57 1
M87 E11 10
S43 H50 5
M23 Q14 1