如果我有三个列表,例如
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
想要像这样打印
1 4 7
2 5 8
3 6 9
我该怎么做?
答案 0 :(得分:8)
这很困难的部分是转置阵列。但这很简单,zip
:
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
t = zip(a, b, c)
现在你打印出来:
print('\n'.join(' '.join(map(str, row)) for row in t))
答案 1 :(得分:6)
这应该这样做:
'\n'.join(' '.join(map(str,tup)) for tup in zip(a,b,c))
答案 2 :(得分:2)
使用 list comprehension 生成器表达式,不带map函数:
'\n'.join(' '.join(str(y) for y in x) for x in zip(a,b,c))