如何并排打印元组列表

时间:2017-09-29 14:06:02

标签: python list tuples

刚接触Python。并尝试学习如何并排打印元组列表。让我们说我有一个元组列表,格式为:

myList =[('05', 5), ('08', 3), ('12', 5)]

我希望有一个输出:

05 5
08 3
12 5

没有单引号。最好的方法是什么?

7 个答案:

答案 0 :(得分:7)

这很简单,例如,您可以在for循环中解压缩元组:

myList =[('05', 5), ('08', 3), ('12', 5)]

for a, b in myList:  # <-- this unpacks the tuple like a, b = (0, 1)
    print(a, b)

输出:

05 5
08 3
12 5

答案 1 :(得分:2)

只是循环它。

for value in myList:
    print(value[0], value[1])

答案 2 :(得分:2)

您可以使用解压缩功能,这是Python3中的一项功能:

myList =[('05', 5), ('08', 3), ('12', 5)]
for a, *b in myList:
  print(a, ' '.join(map(str, b)))

这样,如果元组中有三个以上的元素,则不会出现ToManyValuesToUnpack错误。

输出:

05 5
08 3
12 5

例如:

myList =[('05', 5, 10, 3, 2), ('08', 3, 4), ('12', 5, 2, 3, 4, 5)]
for a, *b in myList:
   print(a, ' '.join(map(str, b)))

输出:

05 5 10 3 2
08 3 4
12 5 2 3 4 5

答案 3 :(得分:1)

自动添加print语句中元素之间的空格。在中,我们可以使用iterable unpacking:

for row in myList:
    print(*row)
制造

>>> for row in myList:
...     print(*row)
... 
05 5
08 3
12 5

如果您需要其他分隔符(例如,管道|),您可以设置sep属性:

for row in myList:
    print(*row, sep='|')

这会产生:

>>> for row in myList:
...     print(*row,sep='|')
... 
05|5
08|3
12|5

这种方法可以处理元组中的任意数量的元素(例如,3元组的列表),并且如果元组具有不同的长度(例如[(1,2),(3,4,5)]),它将打印3元组的三元组列和带有两列的2元组。

答案 4 :(得分:0)

for i, j in myList:
    print(i, j)

答案 5 :(得分:0)

如果你想要一个固定元组大小为2的简单解决方案,那么这可行:

for tup in myList:
    print(tup[0], tup[1])

但是,如果您希望在不更改代码的情况下打印不同长度的元组,则可以执行以下操作:

for tup in myList:
    print(' '.join(map(str,tup)))

答案 6 :(得分:0)

您可以在迭代中解压缩值,这也适用于元组中的两个以上元素。

myList =[('05', 5, 3), ('08', 3), ('12', 5)]

for a in myList:
    print(*a, sep=" ")

您可以使用其他分隔符,空格是默认值。