我正在尝试添加列表中的所有元素,但它会不断出现int和string的不受支持的操作数吗?
total_years = 0
for i in range(len(str(years_list))):
total_years += str(years_list[i])
print(years_total)
如果我使用int它会出现IndexError:list index超出范围
答案 0 :(得分:1)
total_years
是一个整数,str(years_list[i])
是一个字符串。您不能将字符串添加到整数。
当您使用int
时,您会得到IndexError,因为您正在迭代years_list
的末尾。列表的字符串表示通常比列表的实际长度长得多。防爆。 [1,2,3]
的长度为3,但str([1,2,3])
的长度为9,因为它会计算逗号,括号和空格。也许你打算做for i in range(len(years_list))
。
无论如何,你不需要任何这种改变类型的东西。如果要添加列表的所有元素,请使用sum
。
total_years = sum(years_list)