使用“ for”循环和用星号运算符*解包在Python中打印元组

问题描述

我试图以以下两种方式通过以下代码打印“结果”元组的项目:

  • 使用“ 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))的列表

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...