Python 将列表和字符串的列表合并到一个列表中
我加入名单有点问题Python 将列表和字符串的列表合并到一个列表中,python,python-3.x,list,Python,Python 3.x,List,我加入名单有点问题 list = ['a','b',['c','d'],['e']] 我需要这个: list = ['a','b','c','d','e'] 不要将列表用作变量名(它甚至会破坏我的代码示例): 这是一个与Dupe不同的问题:你是对的,不要混淆字符串和列表。谢谢汉克斯,这真的很有帮助。但是通宵想弄明白这是个骗局。 import itertools as it items = ['a','b',['c','d'],['e']] # in a single line: flat
list = ['a','b',['c','d'],['e']]
我需要这个:
list = ['a','b','c','d','e']
不要将
列表
用作变量名(它甚至会破坏我的代码示例):
这是一个与Dupe不同的问题:你是对的,不要混淆字符串和列表。谢谢汉克斯,这真的很有帮助。但是通宵想弄明白这是个骗局。
import itertools as it
items = ['a','b',['c','d'],['e']]
# in a single line:
flat = list(it.chain.from_iterable([item if isinstance(item, list) else [item] for item in items]))
# or in several lines:
flat = []
for item in items:
if isinstance(item, list):
flat.extend(item)
else:
flat.append(item)