刚接触Python。并尝试学习如何并排打印元组列表。让我们说我有一个元组列表,格式为:
myList =[('05', 5), ('08', 3), ('12', 5)]
我希望有一个输出:
05 5
08 3
12 5
没有单引号。最好的方法是什么?
答案 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)
python-3.x自动添加print语句中元素之间的空格。在python-3.x中,我们可以使用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=" ")
您可以使用其他分隔符,空格是默认值。