在Python中,遇到“can only assign an iterable”这样的错误,通常意味着你试图将一个非迭代对象赋值给一个期望迭代对象的场景。下面我将分点详细解释这个问题: 1. 解释Python中“只能分配一个可迭代对象”的含义 在Python中,可迭代对象(iterable)是指那些可以通过迭代(如循环遍历)获取其元素的对象。常见的可迭代对象...
TypeError: can only assign an iterable 说明: 在python中,用List[0:3] = ‘XXX’,不会产生错误,使下标为0,1,2的元素赋值为‘xxxx’;这是因为String字符串本身在python里就是一个字符数组,是可以进行迭代操作的。 而List[0:2] = 1中,就会产生错误:TypeError: can only assign an iterable 这是因为整型...
li[-1:-1] = 6 # (报错,TypeError: can only assign an iterable) li[:0] = (9,) # [9, 0, 1, 2, 3, 4, 5, 6, 7] li[:0] = range(3) # [0, 1, 2, 9, 0, 1, 2, 3, 4, 5, 6, 7] 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 上述例子中,若将切...
4]# 在末尾拼接li[len(li):] = [5,7] # [0, 1, 2, 3, 4, 5, 7]# 在中部拼接li[6:6] = [6] # [0, 1, 2, 3, 4, 5, 6, 7]# 给切片赋值的必须是可迭代对象li[-1:-1] = 6 # (报错,TypeError: can only assign an iterable)li[:0] = (9,) # [9, 0, 1, ...
TypeError: can only assign an iterable >>> l[2:5] = [100] >>> l [0, 1, 100, 22, 9] 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ➊ 如果赋值的对象是一个切片,那么赋值语句的右侧必须是个可迭代对象。即便只有单独一个值,也要把它转换成...
6, 7]# 给切片赋值的必须是可迭代对象li[-1:-1] = 6 # (报错,TypeError: can only assign an iterable)li[:0] = (9,) # [9, 0, 1, 2, 3, 4, 5, 6, 7]li[:0] = range(3) # [0, 1, 2, 9, 0, 1, 2, 3, 4, 5, 6, 7] ...
li[-1:-1]=6# (报错,TypeError:can only assign an iterable) li[:0]=(9,)#[9,0,1,2,3,4,5,6,7]li[:0]=range(3)#[0,1,2,9,0,1,2,3,4,5,6,7] 上述例子中,若将切片作为独立对象取出,那你会发现它们都是空列表,即li[:0]==li[len(li):]==li[6:6]==[],我将这种占位符称...
li[-1:-1] = 6 # (报错,TypeError: can only assign an iterable) li[:0] = (9,) # [9, 0, 1, 2, 3, 4, 5, 6, 7] li[:0] = range(3) # [0, 1, 2, 9, 0, 1, 2, 3, 4, 5, 6, 7] 上述例子中,若将切片作为独立对象取出,那你会发现它们都是空列表,即li[:0]==li...
[11, 22] # 还是修改,竟然可以跳跃 >>> l [0, 1, 20, 11, 5, 22, 9] >>> l[2:5] = 100 ➊ # 即便你用的是l[2:3] 也不能用100 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only assign an iterable >>> l[2:5] = [100] >...
l=list(range(10))l[2:5]=[20,30]# [0, 1, 20, 30, 5, 6, 7, 8, 9], 少了一个元素dell[5:7]# [0, 1, 20, 30, 5, 8, 9]l[3::2]=[11,22]#[0, 1, 20, 11, 5, 22, 9]l[2:5]=100# TypeError: can only assign an iterablel[2:5]=[100]# [0, 1, 100, 22...