如何从 Python itertools 输出中删除字符串引号、逗号和括号?
How to remove string quotations, commas and parenthesis from Python itertools output?
这个不错的脚本 生成给定集合 s
的所有 4 个字符排列,并在新行打印它们。
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')
...
我不知道如何删除所有单引号、逗号和 left/right 括号。
期望输出:
...
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)
...但是值之间有 space。
这个不错的脚本 生成给定集合 s
的所有 4 个字符排列,并在新行打印它们。
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')
...
我不知道如何删除所有单引号、逗号和 left/right 括号。
期望输出:
...
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)
...但是值之间有 space。