列表操作-分片赋值


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', '!']

 

posted @ 2017-06-05 22:47  椿与湫  阅读(800)  评论(0编辑  收藏  举报