原文链接:http://www.juzicode.com/python-error-list-can-only-assign-an-iterable
错误提示:
list赋值时提示can only assign an iterable
#juzicode.com/vx:桔子code
l = [0,1,2,3,4,5,6,7,8,9]
l[2:] = 21
print(l)
==========运行结果:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-04888e1f27c8> in <module>
1 #juzicode.com/vx:桔子code
2 l = [0,1,2,3,4,5,6,7,8,9]
----> 3 l[2:] = 21
4 print(l)
TypeError: can only assign an iterable
错误原因:
1、如果是对单个元素赋值,比如l[2]=21这种形式只对下标为2的元素做修改时,赋值对象可以是单个数值,但是当使用切片方式时l[2:],赋值的对象必须是可迭代的对象,比如list,tuple等。
解决方法:
1、赋值对象改成可迭代的list形式:
#juzicode.com/vx:桔子code
l = [0,1,2,3,4,5,6,7,8,9]
l[2:] = [21]
print(l)
==========运行结果:
[0, 1, 21]
扩展内容:
如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。