我有兩個(gè)相同大小的列表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)]當(dāng)我做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) ...]
3 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用更具體的參數(shù)replace
:
print(str(list(zip(a, b))).replace('), (', ') ('))

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
print("[" + " ".join(map(str, zip(a, b))) + "]")
或者
print("[", " ".join(map(str, zip(a, b))), "]", sep="")

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以將 f-string 與 str 一起使用join
f"[{', '.join([str(e).replace(',','') for e in c])}]"
或者您可以使用正則表達(dá)式:
import re re.sub('\([^()]*\)', lambda x: x.group().replace(",", ""), str(c))
輸出:
[(1 2), (2 3), (3 4), (4 5), (5 6)]
添加回答
舉報(bào)
0/150
提交
取消