Python展平由字符串连接的列表

Vik*_*kar 0 python list python-3.x

我有一个列表列表,我想在它们之间插入一个项目时将其展平。我的原始清单采用以下形式:

l = [["a","b"],["c"],["d"]]
Run Code Online (Sandbox Code Playgroud)

我想要的是,展平列表并用字符分隔它们

n = ["a","b",".","c",".","d"]
Run Code Online (Sandbox Code Playgroud)

正如许多SO 答案中提到的那样,应该可以使用列表理解来扁平化列表:

flat_list = [item for sublist in l for item in sublist]
Run Code Online (Sandbox Code Playgroud)

但是是否可以使用我选择的字符/字符串来展平列表?

可以通过附加.到除最后一个列表之外的每个列表来完成。但是有没有更优雅的东西.join

yat*_*atu 5

我能想到的一种方法是sublist通过添加分隔符来扩展第二级迭代:

[j for i in l for j in [*i, '.']][:-1]
# ['a', 'b', '.', 'c', '.', 'd']
Run Code Online (Sandbox Code Playgroud)