列出不在 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
我有一个字符串格式的 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