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

Python嵌套列表优化:如何用循环替代多次append批量添加列表?

解决方法:用循环替代重复的append操作

嘿,作为Python初学者,遇到这种重复写append的情况太正常了!几十上百次重复代码不仅麻烦,还容易写错,用循环来简化完全没问题,我给你几种实用的方案:

方案1:先收集所有子列表,再循环append(最稳妥推荐)

首先把你所有的s1、s2……s100这些列表先放到一个大的列表里,然后循环遍历这个大列表,把每个子列表添加到嵌套列表中。这样代码清爽还不容易出错:

# 先定义好所有子列表
s1 = ["sea rescue","rescue boat", "boat"] 
s2 = ["water quality","water pollution","water"] 
# ... 继续定义s3到s100

# 把所有子列表收集到一个容器里
all_sub_lists = [s1, s2, s3, ..., s100]

nestedlist = []
# 循环遍历,批量添加
for sub_list in all_sub_lists:
    nestedlist.append(sub_list)

print(nestedlist)

甚至还能更简化,直接把all_sub_lists复制给nestedlist(如果不需要修改原列表的话):

nestedlist = all_sub_lists.copy()
# 或者直接 nestedlist = list(all_sub_lists)

方案2:利用变量命名规则,动态获取变量(适合大量按规则命名的变量)

如果你的子列表严格按照s1、s2……s100命名,不想一个个手动写进all_sub_lists,可以用globals()函数动态获取全局变量,配合循环来批量添加:

nestedlist = []
# 循环从1到100,对应s1到s100
for i in range(1, 101):
    # 构造变量名,比如i=1时得到"s1"
    var_name = f"s{i}"
    # 检查这个变量是否存在,避免出错
    if var_name in globals():
        nestedlist.append(globals()[var_name])

print(nestedlist)

⚠️ 小提醒:这种方法虽然省事儿,但如果你的全局变量里有其他不是子列表的sxx变量,可能会被误加进去,所以如果是自己手动定义的子列表,还是方案1更安全直观哦。

额外小技巧:用extend一步到位

其实如果已经有了all_sub_lists,甚至不用写循环,直接用extend方法就能一次性把所有子列表添加到嵌套列表:

nestedlist = []
nestedlist.extend(all_sub_lists)

这样就完全替代了多次append的操作啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 14:34:19