1

items2(数量)、items(コード)、newprice_list(最終価格)、product_list(製品名)という 4 つのリストがあります。次のように並べて印刷しようとしました。

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_list問題は、リストを印刷してitems2、他の 2 つのリストのような " 引用符がないことです。これが問題だと思いますが、解決方法がわかりません。items2アイテムを整数に変えました。

編集:順序を並べ替えると機能しますが、その順序にする必要があります。

4

1 に答える 1

0

print(*a)に変更されたの代わりにprint("382918", "banana", ...)、配列をスペースで区切って印刷してみてください。

print(' '.join(list(map(str, a))))
  1. Map は、a の各要素に「str」を適用します。
  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 に答える