You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用列表推导式直接提取元素列表的所有子项,无需创建中间嵌套列表

实现方案

可以直接用单层多循环的列表推导完成需求,不会产生中间的嵌套列表结构,代码如下:

all_sub_item_li: list[sub_item] = [sub_item for item in self.item_li for sub_item in item.sub_item_li]
return all_sub_item_li

原理说明

Python 列表推导的多层循环写法和常规嵌套 for 循环的顺序完全对应,上述列表推导等价于常规写法:

all_sub_item_li: list[sub_item] = []
for item in self.item_li:
    for sub_item in item.sub_item_li:
        all_sub_item_li.append(sub_item)

这种写法直接遍历每个item的sub_item_li成员,将所有sub_item元素直接收集到结果列表中,完全跳过了生成list[list[sub_item]]类型中间变量的步骤,相比你原来的实现减少了无意义的内存占用和遍历开销,代码也更简洁。


内容的提问来源于stack exchange,提问作者gunnar247

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:36:05