Python电影过滤功能年份字段异常:annee集合生成错误求助
问题分析与解决
你的问题出在年份处理的代码行:
annees.update(video['année'])
update()方法的作用是把可迭代对象的每个元素批量添加到集合中。如果video['année']是字符串类型的"1999",它会被拆成单个字符'1'、'9'、'9'、'9',去重后集合就变成了{'1','9'};如果是整数类型的1999,甚至会直接报错(因为整数不可迭代)。而其他字段比如genres、acteurs本身是列表/集合这类可迭代对象,所以用update()没问题。
解决方法
把年份的update()改成add()方法,因为年份是单个值,不是批量的可迭代元素:
annees.add(video['année'])
额外建议
如果你的video['année']存在类型不统一的情况(比如有的是字符串、有的是整数),建议统一转换类型,避免后续过滤时出现匹配问题:
- 转成整数:
annees.add(int(video['année'])) - 转成字符串:
annees.add(str(video['année']))
内容的提问来源于stack exchange,提问作者G. Trennert
相关产品推荐
相关产品推荐

