1

我对python相当陌生。我正在尝试使用哥白尼网站上的一些代码。代码已经写好了,我不会把它们当作我自己的。我只对了解它们的工作原理感兴趣,因此我可以更改参数并从不同年份、地区等获得结果。所以功能如下

    data = ct.catalogue.retrieve(
        'reanalysis-era5-single-levels',
        {
            'variable': variables[var],
            'grid': ['3', '3'],
            'product_type': 'reanalysis',
            'year': [
                '2008', '2009', '2010',
                '2011', '2012', '2013',
                '2014', '2015', '2016',
                '2017'
            ],
            'month': [
                '01', '02', '03', '04', '05', '06',
                '07', '08', '09', '10', '11', '12'
            ],
            'day': [
                '01', '02', '03', '04', '05', '06',
                '07', '08', '09', '10', '11', '12',
                '13', '14', '15', '16', '17', '18',
                '19', '20', '21', '22', '23', '24',
                '25', '26', '27', '28', '29', '30',
                '31'
            ],
            'time': ['00:00', '06:00', '12:00', '18:00'],
        }
    )

我的问题是,我怎样才能增加额外的年份而不必一一写?例如,我们从 2008 年到 2017 年。如果我想从 1900 到 2100,我该怎么写?

4

1 回答 1

3

您可以在列表推导中使用 python 的range函数来创建从 1900 到 2100 的所有年份的列表,如下所示:

data = ct.catalogue.retrieve(
    'reanalysis-era5-single-levels',
    {
        'variable': variables[var],
        'grid': ['3', '3'],
        'product_type': 'reanalysis',
        'year': [str(i) for i in range(1900, 2101)],
        'month': [
            '01', '02', '03', '04', '05', '06',
            '07', '08', '09', '10', '11', '12'
        ],
        'day': [
            '01', '02', '03', '04', '05', '06',
            '07', '08', '09', '10', '11', '12',
            '13', '14', '15', '16', '17', '18',
            '19', '20', '21', '22', '23', '24',
            '25', '26', '27', '28', '29', '30',
            '31'
        ],
        'time': ['00:00', '06:00', '12:00', '18:00'],
    }
)
于 2022-02-25T14:12:05.713 回答