为什么只能以可迭代方式以[1:1]分配列表?

时间:2019-04-30 08:33:56

标签: python-3.x

a = [1,2]
a[1:1] = 3

引发异常: TypeError:只能分配一个可迭代的

如果将变量更改为可迭代,则不会引发异常。

a = ['a','c']
 a[1:1] = 'b'

如果变量不是可迭代的,为什么切片[1:1]的分配引发异常?

1 个答案:

答案 0 :(得分:1)

因为期望匹配位置,因为对他来说a[1:1]是大小n的一部分,即使n == 1也会期望大小至少为1的可迭代。为什么有效:

>>> a[1:1] = [3]
>>> a
[1, 3, 2]