-2
>>> ex=[1,2,3,4,5,6,7,8]
>>> ex
[1, 2, 3, 4, 5, 6, 7, 8]
>>> ex[1:4]=[99,88,77]
>>> ex
[1, 99, 88, 77, 5, 6, 7, 8]
>>> ex[1:1]=['s','t','u']
>>> ex
[1, 's', 't', 'u', 99, 88, 77, 5, 6, 7, 8]

为什么 ex[1:4] 和 ex[1:1] 给出相同的输出?ex[1:1] 中的第二个值有什么用?

4

3 回答 3

3

他们没有给出相同的价值。在第一个中,元素被替换为,99, 88, 77而在第二个中,列表被增加以容纳s, t, u

Python 的 Slice 表示法已在问题中进行了解释。

ex[1:4]=[99,88,77]ex用内容替换切片99, 88, 77。同时,ex[1:1]=['s', 't', 'u']插入s, t, u到列表中。

于 2013-07-29T15:24:46.543 回答
2

通过执行 ex[1:1],您将“插入”放在索引 1 之前,而不是替换索引 1。

ex = [1,2,3,4,5,6,7]
ex[1:1] = 3
print ex

产量:

[1,3,2,3,4,5,6,7]
于 2013-07-29T15:25:34.197 回答
1

lst[start:end] = some_seq表示用 RHS 上的序列替换开头start和结尾的切片。end - 1

lst[n:n] = sequence表示将 RHS 上的序列插入到n列表中的索引处。

我想说的不太一样。

于 2013-07-29T15:27:29.600 回答