Как циклом заменить похожие строки кода с разными типами?

Нужно заменить циклом повторяющиеся строки, в которых меняются только года, но как это сделать, если во втором случае нельзя использовать переменную для поиска по датафрейму?

Dy2015 = Developed[Developed.columns[Developed.columns.str.contains('2015')]]
Dy2016 = Developed[Developed.columns[Developed.columns.str.contains('2016')]]
Dy2017 = Developed[Developed.columns[Developed.columns.str.contains('2017')]]
Dy2018 = Developed[Developed.columns[Developed.columns.str.contains('2018')]]
Dy2019 = Developed[Developed.columns[Developed.columns.str.contains('2019')]]
Dy2020 = Developed[Developed.columns[Developed.columns.str.contains('2020')]]
y2015 = Developed[Developed.columns[Developed.columns.str.contains('2015')]]
y2016 = Developed[Developed.columns[Developed.columns.str.contains('2016')]]
y2017 = Developed[Developed.columns[Developed.columns.str.contains('2017')]]
y2018 = Developed[Developed.columns[Developed.columns.str.contains('2018')]]
y2019 = Developed[Developed.columns[Developed.columns.str.contains('2019')]]
y2020 = Developed[Developed.columns[Developed.columns.str.contains('2020')]]

Ответы (1 шт):

Автор решения: Zhihar

например так:

res = [Developed[Developed.columns[Developed.columns.str.contains(str(i))]] for i in range(2015, 2021)]

P.S.

у вас кстати дублирование какое-то:

Dy2015 = Developed[Developed.columns[Developed.columns.str.contains('2015')]]
 y2015 = Developed[Developed.columns[Developed.columns.str.contains('2015')]]
→ Ссылка