python - 如何从 Python itertools 输出中删除字符串引号、逗号和括号?
问题描述
这个漂亮的脚本生成给定 set 的所有 4 个字符排列s
,并将它们打印在新行上。
import itertools
s = ('7', '8', '-')
l = itertools.product(s, repeat=4)
print(*l, sep='\n')
样本输出:
...
('9', '-', '7', '8')
('9', '-', '7', '9')
('9', '-', '8', '7')
('9', '-', '8', '8')
('9', '-', '8', '9')
...
我不知道如何删除所有单引号、逗号和左/右括号。
期望的输出:
...
9-78
9-79
9-87
9-88
9-89
...
尝试添加:
c = []
for i in l:
i = i.replace(",", '')
c.append(i)
print(*c, sep='\n')
错误: AttributeError: 'tuple' object has no attribute 'replace'
还尝试过:我似乎无法找到将print(' '.join())
逻辑放在哪里。
解决方案
每次打印值时,都可以使用:
for vals in l:
print("".join([str(v) for v in vals]))
这只是连接所有字符,注意.join
要求值是字符串。
您还可以使用:
for vals in l:
print(*vals)
...但是值之间有一个空格。
推荐阅读
- android - 房间数据库无此类表异常
- python-3.x - ImportError:/home/kei/darkflow/darkflow/cython_utils/cy_yolo_findboxes.so:未定义符号:_Py_ZeroStruct
- angular - Angular 6 - 使用“declare var require: any”是个坏主意吗?
- python - 网络爬虫无法处理多个网页
- ignite - 点燃服务器节点无法重新连接
- java - TimeLimitExceeded 提交时
- html - 角度应用程序将德语字符编码为乱码
- coronasdk - Corona sdk 使用额外参数调用 loadRemoteImage
- unity3d - 将 3d 对象与设备的陀螺仪统一对齐
- push-notification - 观看 Google 日历推送通知时出现错误“WEB_HOOK 频道不可用”