如何垂直打印4个列表,我的第二个列表有尾随换行符

时间:2016-09-01 11:17:32

标签: python-3.x string-formatting shopping-cart output-formatting

我有四个名为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和项目转换为整数。

编辑:当我重新安排它的工作顺序时,我需要它按顺序。

1 个答案:

答案 0 :(得分:0)

而不是更改为print(*a)的{​​{1}},请尝试按空格分隔打印数组:

print("382918", "banana", ...)
  1. 地图适用" str"到
  2. 中的每个元素
  3. list将类型更改为list(返回值为字符串列表)
  4. print(' '.join(list(map(str, a)))) 生成字符串,其中列表中的值(由' '.join(..)生成)按空格连接。
  5. 如果你list(map(...))在某处触发了新行,你可以在同一行中删除它:

    \n

    Lambda是一个无穷大的函数,将应用于a的每个元素。它将其转换为字符串(如果已经是字符串则不会更改)并删除所有print(' '.join(list(map(lambda x: strip(str(x)), a)))) s