Python 如何将列表的子字符串转换为单个字符串

Python 如何将列表的子字符串转换为单个字符串,python,pandas,string,list,concatenation,Python,Pandas,String,List,Concatenation,我将元组列表生成一个列表。然后我想删除所有元组括号,并将整个列表转换为字符串的单个列表。我尝试了以下操作: 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.a

我将元组列表生成一个列表。然后我想删除所有元组括号,并将整个列表转换为字符串的单个列表。我尝试了以下操作:

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
不是每个数字都用逗号分隔,也不是单个字符串。 所需的输出如下:

'235723752537257327'

permutation
给出如下列表

[(2, 3, 5, 7), (2, 3, 7, 5), ...]
可以将其转换为字符串列表

['2357', '2375', '2537'. ...] 
使用

没有逗号和空格

接下来,您可以使用
“”.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”
进行更长的排列

更好的方法是将
str()
一起用于
循环和
“”。join()

一致

 for data in perm:
     l.append( "".join(str(x) for x in data) )

“,”.join(…)
如果您将其作为带有数字的字符串
'2357237523757327'
,那么为什么要使用
%s、%s、%s”
以及为什么要在
中使用空格。join()
?这没有任何意义。仍然不删除数字之间的逗号“”。如果要删除逗号,请不要在
%s,%s,%s“
中使用逗号。顺便说一句:如果希望结果不带空格,请跳过空格
%s%s%s”
。现在必须使用
”。连接(['2357',2375',2537'…])
以获得单个字符串。
 "".join(str(x) for x in data)
 for data in perm:
     l.append( "".join(str(x) for x in data) )