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?
我能想到的一种方法是sublist通过添加分隔符来扩展第二级迭代:
[j for i in l for j in [*i, '.']][:-1]
# ['a', 'b', '.', 'c', '.', 'd']
Run Code Online (Sandbox Code Playgroud)