[英]how to covert substrings of a list into one single sting
我将一个元组列表生成到一个列表中。然后我想删除所有元组括号并将整个列表转换为一个字符串列表。我尝试这样做:
from itertools import permutations
l=[]
m=[]
perm = permutations([2,3,5,7], 4)
for i in list(perm):
#print (i)
l.append(i)
for data in l:
k=("%s, %s, %s, %s" % data)
m.append(k)
o=' '.join(m)
print(o)
结果是:
2, 3, 5, 7 2, 3, 7, 5 2, 5, 3, 7 2, 5, 7, 3 2, 7, 3, 5 2, 7, 5, 3 3, 2, 5, 7 3, 2, 7, 5 3, 5, 2, 7 3, 5, 7, 2 3, 7, 2, 5 3, 7, 5, 2 5, 2, 3, 7 5, 2, 7, 3 5, 3, 2, 7 5, 3, 7, 2 5, 7, 2, 3 5, 7, 3, 2 7, 2, 3, 5 7, 2, 5, 3 7, 3, 2, 5 7, 3, 5, 2 7, 5, 2, 3 7, 5, 3, 2
不是每个数字都用逗号分隔,也不是单个字符串。 所需的 output 是这样的:
'235723752537257327'
permutation
给出了类似的列表
[(2, 3, 5, 7), (2, 3, 7, 5), ...]
您可以将其转换为字符串列表
['2357', '2375', '2537'. ...]
使用
"%s%s%s%s" % data
没有命令和空格。
接下来您可以使用"".join()
将新列表转换为单个字符串
from itertools import permutations
l = []
perm = permutations([2,3,5,7], 4)
for data in perm:
l.append("%s%s%s%s" %data)
result = ''.join(l)
print(result)
与列表理解相同
from itertools import permutations
perm = permutations([2,3,5,7], 4)
result = ''.join("%s%s%s%s" % data for data in perm)
print(result)
但这将需要更长"%s%s%s%s"
以获得更长的排列。
更好的方法是使用str()
和for
-loop 和"".join()
"".join(str(x) for x in data)
排队
for data in perm:
l.append( "".join(str(x) for x in data) )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.