使用 "for" 循环打印 Python 中的元组并使用星号运算符 (*) 解包
Printing a tuple in Python using both "for" loop and unpacking with star operator (*)
我正在尝试以两种不同的方式打印以下代码中“结果”元组的项目:
- 使用“for”循环
- 在 print() 方法中使用星号运算符
在输出中,字符串“reference point”应该用来分隔两种方式的结果。
animals = {"dog", "cat", "pig"}
numbers = (1, 2, 3)
column = ['a', 'b', 'c']
result = zip(animals, column, numbers)
#first way of printing the items in the result tuple
for item in result:
print(item)
print('\nreference point\n')
#second way of printing the items in the result tuple
print(*result, sep="\n")
然而,代码只输出第一个结果(在“参考点”之前),不管这是哪种方式(“for”循环或星号运算符),如下所示:
('dog', 'a', 1)
('pig', 'b', 2)
('cat', 'c', 3)
reference point
有谁知道为什么“结果”元组的项目只打印一次以及如何解决这个问题?我正在寻找如下输出:
('dog', 'a', 1)
('pig', 'b', 2)
('cat', 'c', 3)
reference point
('dog', 'a', 1)
('pig', 'b', 2)
('cat', 'c', 3)
zip
构造的迭代器在第一次迭代时就耗尽了,需要重新构建或者做成result = list(zip(animals, column, numbers))
这样的列表
我正在尝试以两种不同的方式打印以下代码中“结果”元组的项目:
- 使用“for”循环
- 在 print() 方法中使用星号运算符
在输出中,字符串“reference point”应该用来分隔两种方式的结果。
animals = {"dog", "cat", "pig"}
numbers = (1, 2, 3)
column = ['a', 'b', 'c']
result = zip(animals, column, numbers)
#first way of printing the items in the result tuple
for item in result:
print(item)
print('\nreference point\n')
#second way of printing the items in the result tuple
print(*result, sep="\n")
然而,代码只输出第一个结果(在“参考点”之前),不管这是哪种方式(“for”循环或星号运算符),如下所示:
('dog', 'a', 1)
('pig', 'b', 2)
('cat', 'c', 3)
reference point
有谁知道为什么“结果”元组的项目只打印一次以及如何解决这个问题?我正在寻找如下输出:
('dog', 'a', 1)
('pig', 'b', 2)
('cat', 'c', 3)
reference point
('dog', 'a', 1)
('pig', 'b', 2)
('cat', 'c', 3)
zip
构造的迭代器在第一次迭代时就耗尽了,需要重新构建或者做成result = list(zip(animals, column, numbers))