我正在寻找一种以特定方式打印多维列表的方法。 这就是我的整个int列表的样子。
[[1,2,3],[4,5,6]]
或
[[1,2,3,4,5,6]]
我想在列表中的两个“大”元素之间用空格和逗号打印每个元素。因此,对于我的示例,输出将是:
1 2 3, 4 5 6
和
1 2 3 4 5 6
我使用的是python 3.4.2
答案 0 :(得分:1)
In [78]: L = [[1,2,3],[4,5,6]]
In [79]: ', '.join([' '.join([str(i) for i in subl]) for subl in L])
Out[79]: '1 2 3, 4 5 6'
In [80]: L = [[1,2,3,4,5,6]]
In [81]: ', '.join([' '.join([str(i) for i in subl]) for subl in L])
Out[81]: '1 2 3 4 5 6'
答案 1 :(得分:0)
可以使用'sep'.join(...)
轻松加入字符串,sep
是分隔符。在连接数组的一部分的数字之前,您需要将它们转换为字符串。这可以使用map
函数轻松完成。对于i
中的每个元素,它都应用str
函数。在用空格分隔每个部分的数字后,您可以将部分连接到最终结果。
l = [[1,2,3],[4,5,6]]
print ', '.join([' '.join(map(str, i)) for i in l])
输出:
1 2 3, 4 5 6
注意:在Python 3中,您需要使用括号print
来调用print(...)
。
答案 2 :(得分:0)
>>> l = [[1, 2, 3], [4, 5, 6]]
>>> ', '.join(map(lambda x: ' '.join(map(str, x)), l))
'1 2 3, 4 5 6'
>>> l = [[1, 2, 3, 4, 5, 6]]
>>> ', '.join(map(lambda x: ' '.join(map(str, x)), l))
'1 2 3 4 5 6'
答案 3 :(得分:0)
ls = [[1, 2, 3, 4], [5, 6, 7, 8]]
for n in range(0, len(ls)):
for m in range(0, len(ls[n])):
print(str(ls[n][m]) + ' ', end='')
if n < (len(ls)-1):
print(', ', end='')
else:
print('')