我有两个相同大小的列表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) ...]
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
print("[" + " ".join(map(str, zip(a, b))) + "]")或者
print("[", " ".join(map(str, zip(a, b))), "]", sep="")
交互式爱情
TA贡献1712条经验 获得超3个赞
您可以将 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)]
添加回答
举报
0/150
提交
取消
