如何从元组中打印项目?

4
我收到了元组 -
Result = [
    ('80407', 'about power supply of opertional amplifier', '11 hours ago'),
    ('80405', '5V Regulator Power Dissipation', '11 hours ago')]

我希望能遍历元组,并通过 ; 分隔元组中的项。

输出应如下所示 -

80407;about power supply of opertional amplifier;11 hours ago

我尝试了以下方法:
for item in zip(*Result):
    print(*item[0], end=';')

这给了我结果 -

8 0 4 0 7;a b o u t   p o w e r   s u p p l y   o f   o p e r t i o n a l   a m p l i f i e r;1 1   h o u r s   a g o;

并且

for item in Result:
    print(*item[0], end=';')

这为我带来了 -

8 0 4 0 7;8 0 4 0 5;

如何正确遍历元组?
5个回答

5

使用 ; 将元组中的项目连接起来,然后使用另一个分隔符将外部列表中的结果字符串连接起来,例如换行符 \n

s = '\n'.join(';'.join(lst) for lst in Result)
print(s)

输出结果将会是:
80407;about power supply of opertional amplifier;11 hours ago
80405;5V Regulator Power Dissipation;11 hours ago

4
为了实现这一点,不需要执行任何zip调用。相反,您的代码可以像这样编写:
for item in Result:
    print(*item, sep=';')

你试图使用 end 而不是 sepend 只会在行尾添加分号,而不是换行符。 sep 指定在打印调用中分隔值的内容。默认情况下,这是一个空格(sep=' ')和(end='\n')。

谢谢你的回答。我没有想到 sep=。但是你的答案当然也可以! - Alex_P

4
我会将元组中的每个项目用分号连接起来,然后用换行符连接元组:
print('\n'.join(';'.join(i) for i in Result))

0
使用单个join语句。
result = [
    ('80407', 'about power supply of operational amplifier', '11 hours ago'),
    ('80405', '5V Regulator Power Dissipation', '11 hours ago')]

for item in result:
  print(';'.join(item))

提供

80407;about power supply of operational amplifier;11 hours ago
80405;5V Regulator Power Dissipation;11 hours ago

0

您可以使用%s和元组位置来实现它。

for i in Result:
    print('%s;%s;%s'% (i[0],i[1],i[2]))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接