簡體   English   中英

使用格式打印多個列表

[英]Printing Multiple Lists using Format

我有2個可變大小的列表,需要彼此並排打印。 例如,如果

A = [30, 40, 50]
B = [1,2,3]

然后,我想打印一個看起來像這樣的輸出:

A 30 B 1 A 40 B 2 A 50 B 3

我嘗試過類似的東西

print (len(A)* ('A {} B {}').format(*A,*B) 

但這並沒有給我我想要的東西。

任何幫助,將不勝感激。

您可以壓縮兩個列表:

A = [30, 40, 50]
B = [1,2,3]

result = ' '.join('A {} B {}'.format(a, b) for a, b in zip(A, B))
print(result)

產量

A 30 B 1 A 40 B 2 A 50 B 3

使用enumerate的簡單迭代

例如:

A = [30, 40, 50]
B = [1,2,3]

print(" ".join("A {} B {}".format(v, B[i]) for i,v in enumerate(A)))

輸出:

A 30 B 1 A 40 B 2 A 50 B 3

一種可能的解決方案:

print(*map(lambda x, y: "A {} B {}".format(x, y), A, B))

lambda x, y - lambda函數接受2個參數( AB每個元素)並創建一個名為map的數據結構(類似於list)。 在此之后,我們將類似map的數據結構視為常規list並打印每個特定元素。

輸入

A = [1, 2, 3]
B = [4, 5, 6]

中級結果

僅供參考。

print(*map(["A 1 B 4", "A 2 B 5", "A 3 B 6"]))

產量

A 1 B 4 A 2 B 5 A 3 B 6

如果其中一個數組更短,它將返回以下內容:

輸入

A = [1, 2]
B = [4, 5, 6]

產量

A 1 B 4 A 2 B 5

有關詳細信息,請查看地圖

受到問答的啟發

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM