将新值附加到字典键给出 AttributeError: 'int' object has no attribute 'append'

克鲁什纳纳夫勒

我正在尝试使用 enumerate() 函数将列表映射到字典中,但是当我尝试将新值附加到键时,带有附加的值对会给出 AttributeError。根据我的理解,我认为整数不接受附加函数,但我没有附加到整数,那么为什么我会收到这样的错误。这是我的代码:

movies = ['star wars', 'avenger', 'iron man', 'spider man', 'star wars', 'spider man', 'iron man', 'star wars', 'star wars']
schedule = {}

for day, movie in enumerate(movies):
  if movie not in schedule:
    schedule[movie] = day
  else:
    schedule[movie].append(day)
print(schedule)

如果有人知道如何处理它,请告诉我。

光明

append方法是为列表定义的,但您永远不会在代码中创建列表。的值schedule[movie]设置为day,它是一个整数。以后不能附加到该值!

我怀疑您希望schedule始终拥有列表值。在这种情况下,您需要使用包含第一天的列表进行初始分配,而不是直接使用日期值:

if movie not in schedule:
    schedule[movie] = [day]      # add brackets to make a list
else:
    schedule[movie].append(day)  # now this will work

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章