1

我有四个列表,分别称为items2(数量)、items(代码)、newprice_list(最终价格)和product_list(产品名称)。我试着像这样并排打印它们:

123213  banana   4   £5

我试过这个...

All_list=[items , product_list , newprice_list , items2]
for a in zip(*All_list):
    print(*a)

...但是它给了我这个输出:

86947367 banana
 10 2

问题是,当我打印出列表时newprice_listitems2它们没有像其他两个列表那样的 " 引号,我认为这是问题所在,但是我不知道如何解决它。我已将items2项目转换为整数。

编辑:当我重新排列它的工作顺序时,但是我需要它按照这个顺序。

4

1 回答 1

0

而不是print(*a), 更改为print("382918", "banana", ...), 尝试打印数组 a 用空格分隔它:

print(' '.join(list(map(str, a))))
  1. Map 将“str”应用于 a 中的每个元素
  2. list 将类型更改为 list (返回值是字符串列表)
  3. ' '.join(..)生成字符串,其中列表中的值(由 生成list(map(...)))由空格连接。

如果您在\n某处触发了新行,则可以在同一行中将其剥离:

print(' '.join(list(map(lambda x: strip(str(x)), a))))

Lambda 是一个匿名函数,将应用于 a 的每个元素。它将它转换为字符串(如果已经是字符串,则不会更改)并剥离所有\ns

于 2016-09-01T16:51:36.357 回答