python书上的一道例题——千年虫问题

"千年虫问题"是指某些计算机程序在设计时,只采用两位十进制数记录年份的最后两位,如1988年被记录为“98” 下面的序列保存了十名1920-2000年出生人员的出生年份,为了避免出现此问题,请编写一个小程序,把序列信息中存在千年虫问题的数据进行提取并修改,然后按年龄从高到低输出:

人员序列信息:【45 89 1998 00 75 33 1968 37 1958 90】
输出参考:【1933 1937 1945 1958 1968 1975 1989 1990 1998 2000】

因为有一点点C的基础,所以就想用if语句筛选并进行修改,但是运行后好像并没有用
born = [45, 89, 1998, 00, 75, 33, 1968, 37, 1958, 90]
for i in born:
    if i < 1900:
        i = i + 1900
born.sort(reverse = False)
print(born)
运行结果就是这样
 [0, 33, 37, 45, 75, 89, 90, 1958, 1968, 1998]
因为是初步自学python 很多地方都不太清楚 请各位不吝指教

for i in born这种写法修改了i不会改变born里的值


born = [45, 89, 1998, 00, 75, 33, 1968, 37, 1958, 90]
for i in range(len(born)):
    if born[i] < 1900:
        if born[i] == 0:
            born[i] = born[i] + 2000
        else:
            born[i] = born[i] + 1900
born.sort(reverse = False)
print(born)