打印列表并排

时间:2013-10-08 10:22:04

标签: python list

我有两个集合,一个是列表,另一个是不同长度的字典,如这些

list = [1,2,3,4,5,6]
dict = {'one':1,'two':2}

如何将它们打印为......

List     Dictionary  
1        one:1
2        two:2
3
4
5
6  

任何人都能帮助我吗?

1 个答案:

答案 0 :(得分:1)

使用您自己的名称覆盖内置名称是不好的做法。 'list'和'dict'都是Python中的内置类型,所以你不想通过为它们分配东西来搞乱这些名字。

还要记住,字典是Python中的无序数据结构。如果你想要订单,你必须使用OrderedDict来记住你插入元素的顺序。

from collections import OrderedDict
l = [1,2,3,4,5,6]
d = {'one':1,'two':2}
od = OrderedDict(sorted(d.items(), key=lambda x: x[1]))
print 'List'.ljust(9) + 'Dictionary'
rows = zip(l, od.items())
# Print elements matched with zip
for r in rows:
    print str(r[0]).ljust(9) + repr(r[1])[1:-1].replace(', ', ':').replace(
                                                                    '\'', '')
# Print any leftover unmatched elements in your list
for i in xrange(len(rows), len(l)):
    print l[i]

输出:

List     Dictionary
1        one:1
2        two:2
3
4
5
6