【发布时间】:2018-11-03 19:41:54
【问题描述】:
我想使用列表推导从 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 循环中构建列表要快得多,而且性能是一个问题。
【问题讨论】:
-
all_names = [man.name for man in men] + [woman.name for woman in women]? -
这不是一个真正的列表理解问题;您可以遍历多个序列并在此处对它们进行相同处理,因为在这两个列表中您所做的只是访问
.name属性。 -
man和woman的元素是什么?它们是字典吗? -
@anishtain4:这有什么关系?他们正在迭代产生具有
.name属性的对象的东西。他们在这里拥有什么类型的迭代并不重要。 -
@MartijnPieters:他可能不需要列表理解