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

如何高效自动生成批量变量代码并将变量自动存入列表

高效实现方案

完全不需要手动写数百行重复赋值代码,也没必要维护大量零散的单变量,直接通过循环规则批量生成目标列表即可。

方案1:直接生成目标列表(最推荐)

先明确规则对应关系:

  • 年份范围:2013 ~ 2020,共8年,对应select参数里的前缀数字为年份-2013
  • 波段范围:B1 ~ B11,对应波段序号1~11

直接用列表推导式一步生成my_variables,和手动拼接的列表顺序完全一致,可直接传入函数使用,全程不需要定义任何Bx_xxxx格式的零散变量:

start_year = 2013
end_year = 2020
band_count = 11

my_variables = [
    images.select(f"{year_idx}_B{band_idx}")
    for year_idx in range(end_year - start_year + 1)
    for band_idx in range(1, band_count + 1)
]

方案2:特殊场景需要生成全局变量(不推荐)

如果有特殊需求必须要在全局作用域生成这些零散变量,可以通过globals()批量赋值,同时自动生成目标列表:

start_year = 2013
end_year = 2020
band_count = 11
my_variables = []

for year_idx in range(end_year - start_year + 1):
    current_year = start_year + year_idx
    for band_idx in range(1, band_count + 1):
        var_name = f"B{band_idx}_{current_year}"
        var_value = images.select(f"{year_idx}_B{band_idx}")
        # 写入全局变量,支持后续通过B1_2013这类变量名单独调用
        globals()[var_name] = var_value
        # 同时写入目标列表
        my_variables.append(var_value)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:27:00