问题描述
- 使用“ for”循环
- 在print()方法中使用星号运算符
在输出中,字符串“参考点”应该将两种方式的结果分开。
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”循环或star运算符),如下所示:
('dog','a',1)
('pig',2)
('cat','c',3)
reference point
有人知道为什么“结果”元组的项目仅打印一次,如何解决?我正在寻找类似以下的输出:
('dog',3)
reference point
('dog',3)
解决方法
由zip
构造的迭代器在第一次迭代时就用光了,您需要重新构建它或将其设为类似result = list(zip(animals,column,numbers))
的列表