我想使用列表推导从2个不同列表的元素创建一个列表。
例如,假设我的2个列表是men
和women
,我想要一个包含所有名称的列表:
men_names = [man.name for man in men]
women_names = [woman.name for woman in women]
all_names = men_names + women_names
是否有单行解决方案来获取此列表?谢谢!
编辑:使用列表推导是一项要求,因为在我的特定情况下,它应该比在for
循环中构建列表快得多,并且性能是一个问题。
答案 0 :(得分:1)
使用itertools.chain
是一种在不创建中间列表的情况下实现此目的的方法。
from itertools import chain
all_names = [person.name for person in chain(men, women)]