>>> 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]中第二个值的用途是什么?
答案 0 :(得分:3)
他们没有给出相同的价值。在第一个元素中,元素被99, 88, 77
替换,而在第二个元素中,列表被增加以容纳s, t, u
。
在this问题中解释了Python的Slice表示法。
ex[1:4]=[99,88,77]
用内容ex
替换99, 88, 77
的切片。同时,ex[1:1]=['s', 't', 'u']
会将s, t, u
插入列表中。
答案 1 :(得分: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]
答案 2 :(得分:1)
lst[start:end] = some_seq
表示将从start
开始并以end - 1
结尾的切片替换为RHS上的序列。
lst[n:n] = sequence
表示在列表中的索引n
处的RHS上插入序列。
我想说的不一样。