擅长:python、mysql、java
<p>解决问题的一种比循环和动态创建全局变量更为python的方法是列表理解:</p>
<pre><code>years = list(range(2019, 2024))
df_aus_list = [df_mat.loc[(df_temp['Year'] == i) & (df_mat['Country'] == 'AUS')] for i in years]
</code></pre>
<p>如果确实需要生成与代码相同的结果,可以动态创建新的全局变量,如下所示:</p>
<pre><code>years = list(range(2019, 2024))
for i in years:
globals()["df_aus"+str(i % 100)] = df_mat.loc[(df_temp['Year'] == i ) & (df_mat['Country'] == 'AUS')]
</code></pre>