列表操作-分片赋值
1 某一元素的替换
创建一个列表list,替换第二个元素 i 变成 Y
1 1 >>> A=list('piano') 2 2 >>> A[1]=('Y') 3 3 >>> A 4 4 ['p', 'Y', 'a', 'n', 'o']
元素从0开始排序,0位置是第一个元素p,1位置第二个元素i,依次排序,n-1是末位元素(n是元素个数)。[]中表示修改第n位元素。
若替换元素为数字,可直接写A[1]=2。
2 替换中间某几个元素
同样的例子,替换第二到第三个元素为er
1 >>> A=list('piano') 2 >>> A[1:3]=list('er') 3 >>> A 4 ['p', 'e', 'r', 'n', 'o']
[1:3]数字可按切片位置数来记忆,piano有五个字母,六个切片空位,0 p 1 i 2 a 3 n 4 o 5 。[起始切片位置:结束切片为止] 替换切片位置之间的元素内容。
更多例子:
1 >>> name=list("perl") 2 >>> name 3 ['p', 'e', 'r', 'l']
4 >>> name[2:]=list('op')# 第二个元素到末尾替换为op 5 >>> name 6 ['p', 'e', 'o', 'p']
7 >>> name[2:3]=list('ui')# 第三个元素替换为ui 8 >>> name 9 ['p', 'e', 'u', 'i', 'p']
10 >>> name[1::2]=list('wo')# 从第二个元素开始到结束,每隔一个元素,替换一个元素,依次替换为wo 11 >>> name 12 ['p', 'w', 'u', 'o', 'p']
3 某位置增加元素
[n:n]将n设为添加元素的切片位置。
1 >>> numbers=[1,5] 2 >>> numbers[1:1]=list('234') 3 >>> numbers 4 [1, '2', '3', '4', 5]
也可在末尾添加元素,将n设置为末位切片位置,[n:n]或[n:]
1 >>> numbers=[1, '2', '3', '4', 5] 2 >>> numbers[5:]=list('67') 3 >>> numbers 4 [1, '2', '3', '4', 5, '6', '7']
1 >>> word=list('learn') 2 >>> word[5:]=['a','word'] 3 >>> word 4 ['l', 'e', 'a', 'r', 'n', 'a', 'word']
1 >>> sentence=['It','is','a','fine','day'] 2 >>> sentence[5:]=['today','!'] 3 >>> sentence 4 ['It', 'is', 'a', 'fine', 'day', 'today', '!']