如何在Python中将任何列表转换为字符串

如何在Python中将任何列表转换为字符串,python,arrays,string,list,Python,Arrays,String,List,说明: 有一个列表(可以包含多个嵌套列表、变量、int、str)。 例如: b = 15 list = [1,2,3,4,[5,6,7,8,[9,["a",b,"c"],10,11]]] 我希望我的意见是: 1, 2, 3 , 4 ,5 ,6, 7, 8, 9, a, b, c, 10, 11 是否有任何函数可以将任何嵌套级别的列表转换为字符串 我知道在现实中并非总是会发生这种情况,但是我们并不总是知道列表中有什么内容可以编写特定的函数或迭代/循环 另外,我在StackOverflow上尝试

说明: 有一个列表(可以包含多个嵌套列表、变量、int、str)。 例如:

b = 15
list = [1,2,3,4,[5,6,7,8,[9,["a",b,"c"],10,11]]]
我希望我的意见是:

1, 2, 3 , 4 ,5 ,6, 7, 8, 9, a, b, c, 10, 11
是否有任何函数可以将任何嵌套级别的列表转换为字符串

我知道在现实中并非总是会发生这种情况,但是我们并不总是知道列表中有什么内容可以编写特定的函数或迭代/循环

另外,我在StackOverflow上尝试了几种已经关闭/讨论过的方法(例如join),但是这些方法只适用于简单或特定的列表

提前谢谢

编辑:

def flatten(lis):
    """Given a list, possibly nested to any level, return it flattened."""
    new_lis = []
    for item in lis:
        if isinstance(item, list):
            new_lis.extend(flatten(item))
        else:
            new_lis.append(item)
    return new_lis
一个快速的解决方案

l = [1,2,3,4,[5,6,7,8,[9,["a","b","c"],10,11]]]

v = str(l).replace("[", ",").replace("]", ",").replace("'", "").split(",")
v = [i.strip() for i in v if i.strip()]    #v = filter(None, v)
print(",".join(v))
一个快速的解决方案

l = [1,2,3,4,[5,6,7,8,[9,["a","b","c"],10,11]]]

v = str(l).replace("[", ",").replace("]", ",").replace("'", "").split(",")
v = [i.strip() for i in v if i.strip()]    #v = filter(None, v)
print(",".join(v))

实现这一点有两个步骤都很简单,并且在堆栈溢出时已经解决了。只需分别执行这两个步骤。首先。然后,在展平列表的所有元素上映射
str
,并
join
结果。谢谢。但这并不能回答我的问题。案例表明可以通过2个循环来完成,如果我有10个、20个甚至X个嵌套列表呢?另外,我这里有INT,所以第二个循环将不起作用,因为python无法迭代INT。@SalehAhmadzada您可以在这里找到更多答案:@VikasDamodar谢谢。我对解决方案做了一点修改。您可以在上面找到它。这有两个步骤都很简单,并且已经在堆栈溢出上得到了回答。只需分别执行这两个步骤。首先。然后,在展平列表的所有元素上映射
str
,并
join
结果。谢谢。但这并不能回答我的问题。案例表明可以通过2个循环来完成,如果我有10个、20个甚至X个嵌套列表呢?另外,我这里有INT,所以第二个循环将不起作用,因为python无法迭代INT。@SalehAhmadzada您可以在这里找到更多答案:@VikasDamodar谢谢。我对解决方案做了一点修改。你可以在上面找到它。
l=[1,2,“[”,3]
l=[1,2,“[”,3]