列出不在 for 循环之外更新的项目

List items not updating outside of for loop


我有一个字符串格式的 pandas 系列日期,但有些值是非日期字符串。 我尝试单独更新它们以规避非日期字符串,但即使值在 for 循环内似乎已更改,一旦打印出循环,列表仍保持不变。
diedlist = df['Died'].tolist()
for item in diedlist:
    if item == '(living)':
        continue
    print(item)
    item = dt.datetime.strptime(item, ("%b %d, %Y"))
    print(item)

初始print(item)以现有格式MMM DD, YYYY打印出日期。
strptime() 函数之后的 print(item) 以新的日期格式 ("%b %d, %Y") 打印出日期,并且 returns 按预期打印出 YYYY-MM-DD 的日期时间对象。
然而,在循环外部 打印列表时,项目再次以其旧格式出现,就好像未被修改过一样。
提前感谢您的帮助。

您需要将项目放回列表中:

for index, item in enumerate(diedlist):
    if item == '(living)':
        continue
    item = dt.datetime.strptime(item, ("%b %d, %Y"))
    diedlist[index] = item