如何在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) ...]


www说
浏览 311回答 3
3回答

慕桂英546537

您可以使用更具体的参数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 一起使用joinf"[{', '.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)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python