这个问题在这里已经有了答案:9 年前关闭。社区在 11 个月前审查了是否重新打开此问题并将其关闭:重复此问题已得到回答,不是唯一的,并且与其他问题没有区别。
可能重复:从 Python 中的列表列表中制作一个平面列表 将列表列表一起加入 Python 中的一个列表
我有很多看起来像的列表
['it']
['was']
['annoying']
我希望上面看起来像
['it', 'was', 'annoying']
我该如何做到这一点?
import itertools
ab = itertools.chain(['it'], ['was'], ['annoying'])
list(ab)
只是另一种方法......
只需添加它们:
['it'] + ['was'] + ['annoying']
您应该阅读 the Python tutorial 以了解此类基本信息。
mylist = list(set(mylist))
之类的东西来消除重复项。
sum(mylist, [])
但它不是很优化。
reduce(lambda l1, l2: l1+l2, lists)
,其中 lists
是列表或列表的元组。
a = ['it']
b = ['was']
c = ['annoying']
a.extend(b)
a.extend(c)
# a now equals ['it', 'was', 'annoying']
不定期副业成功案例分享
list(itertools.chain(['it'], ['was'], ['annoying']))
给出['it', 'was', 'annnoying']
。这和你想要的不一样吗?ab = list(itertools.chain.from_iterable([['it'], ['was'], ['annoying']]))
等from_iterable
函数将给出 OP 期望的答案itertools.chain(*my_list_of_lists)
将其作为*args
传递。from_iterable
它接受任何可迭代对象,例如生成器返回后续列表。