Python_异常处理:TypeError: can only assign an 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
这是因为整型1,不具有迭代能力,它就是一个值。未达到目的,写成List[0:2] = (1,)即可
实例:[6,2,11,1,4,9,5,7,8,20]将所有比6小的数字放到它的左边,大的放到6的右边。
s = [6,2,11,1,4,9,5,7,8,20] result = [] for i in s: if i >= 6: result.append(i) else: result[:0] = (i,) print(result)
结果:
[5, 4, 1, 2, 6, 11, 9, 7, 8, 20]