簡體   English   中英

如何在python中的對之間打印沒有逗號的對列表?

[英]How to print a list of pairs without commas between pairs in python?

我有兩個大小相同的列表

a = [1, 2, 3, 4, 5]

b = [2, 3, 4, 5, 6]

我想打印壓縮列表zip(a, b)但對之間沒有逗號,如下所示:

c = [(1, 2) (2, 3) (3, 4) (4, 5) (5, 6)]

當我做

print(str(list(zip(a, b))).replace(',', ''))

我得到

[(1 2) (2 3) (3 4) (4 5) (5 6)]

這會刪除所有逗號,即使是每對中的逗號, (1 2)

我希望輸出像

[(x, y) (z, t) (u, v) ...]

您可以為replace使用更具體的參數:

print(str(list(zip(a, b))).replace('), (', ') ('))
print("[" + " ".join(map(str, zip(a, b))) + "]")

或者

print("[", " ".join(map(str, zip(a, b))), "]", sep="")

您可以將 f-string 與 str join

f"[{', '.join([str(e).replace(',','') for e in c])}]"

或者您可以使用正則表達式:

import re 

re.sub('\([^()]*\)', lambda x: x.group().replace(",", ""), str(c))

輸出:

[(1 2), (2 3), (3 4), (4 5), (5 6)]

暫無
暫無

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

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