如何去除Python itertools输出中的字符串引号、逗号与括号?
错误原因
你遇到的AttributeError报错核心原因是:itertools.product返回的迭代器中每个元素是元组类型,并不属于字符串类型,因此不存在replace方法。
另外你直接打印元组时看到的括号、单引号、逗号都是Python打印元组的默认格式化输出,并不是元组内部存储的内容,完全不需要做额外的替换操作。
正确实现代码
import itertools s = ('7', '8', '-') product_res = itertools.product(s, repeat=4) for item in product_res: # 直接拼接元组内的4个单字符元素即可得到目标字符串 print(''.join(item))
逻辑说明
''.join(item)方法可以接收由字符串组成的可迭代对象(此处即为product返回的四元素元组),按顺序拼接所有元素为一个完整字符串,直接匹配你的预期输出格式- 不需要提前把所有结果存入列表,直接遍历迭代器逐行输出即可,内存占用更低
内容的提问来源于stack exchange,提问作者SeaDude
相关产品推荐
相关产品推荐

