原文链接:http://www.juzicode.com/archives/3795
错误提示:
使用list作为for循环语句的迭代对象时提示:TypeError: ‘list’ object cannot be interpreted as an integer
#juzicode.com/vx:桔子code
lst = ['orange','cat','water']
for l in range(lst):
print(l)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-fd3144c6cb5a> in <module>
1 #juzicode.com/vx:桔子code
2 lst = ['orange','cat','water']
----> 3 for l in range(lst):
4 print(l)
TypeError: 'list' object cannot be interpreted as an integer
错误原因:
1、range()函数入参必须使用int类型的数据生成可迭代对象,如果是list,tuple等可迭代的对象,则可以直接在for循环中使用。
解决方法:
1、使用len()方法计算list的长度,传入到range()函数进行for循环:
#juzicode.com/vx:桔子code
lst = ['orange','cat','water']
for l in range(len(lst)):
print(lst[l])
orange
cat
water
2、直接使用list作为for循环的迭代对象:
#juzicode.com/vx:桔子code
lst = ['orange','cat','water']
for l in lst:
print(l)
orange
cat
water
扩展内容:
关注微信公众号:“桔子code”,欢迎后台留言撩我,我会尽我所能为你解惑Python,C等编程知识