如何打印元组中的项目?

时间:2019-07-13 14:32:58

标签: python python-3.x tuples iteration

我有元组-

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 个答案:

答案 0 :(得分:5)

通过遍历元组中的每个项目,用;连接元组中的项目,并用另一个分隔符(也许是换行符\n

)将外部列表中的结果字符串连接起来
s = '\n'.join(';'.join(item for item in 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

答案 1 :(得分:4)

我将用分号将元组中的每个项目连接起来,然后使用换行符将元组连接起来:

print('\n'.join(';'.join(i) for i in Result))

答案 2 :(得分:3)

要完成此操作,不需要任何zip调用。相反,您可以像这样:

for item in Result:
    print(*item, sep=';')

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

答案 3 :(得分:0)

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


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

答案 4 :(得分: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