python 之 列表修改元素 || 切片

一、slice() 函数

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
语法:
1. class slice(stop)
2. class slice(start, stop,step)
:这三个参数都有默认的缺省值,但是为了与index区别,slice语法中至少要有一个

1.
>>> myslice = slice(5)                # 设置截取5个元素的切片
>>> arr = range(10)
>>> arr[myslice]                       # 截取 
[0, 1, 2, 3, 4]


2. 
>>> s = 'org is very good'
>>> myslice = slice(0,5,2)
>>> s[myslice]
'ogi'

二、切片

  1. list[:3] :复制索引为 0-3(不包括) 的元素,即第1到3个元素。
  2. list[2:] :复制索引为 2-末尾 的元素,即第3到最后一个元素。
  3. list[1:6:2] :步长为2
  4. list[6:1:-1] :逆向
  5. list[3:-2] 第4到倒数第3个元素
  6. list2 =list[:] : 复制整个list,原始list变,复制的list不变list[:]
  7. list2 = list :复制整个list,原始list改变,list2也变list2 = list

三、列表修改元素

(1) 列表的元素相当于变量,因此程序可以对列表的元素赋值,这样即可修改列表的元素

>>> a_list = [2, 4, -3.4,23]
>>> a_list[2] = 'fkit'                                    # 对第3个元素赋值
>>> print(a_list) 
[2, 4, 'fkit', 23]

>>> a_list[-2] = 9527                                  # 对倒数第2个元素赋值
>>> print(a_list) 
[2, 4,  9527, 23]

(2) a[start : end : step] = b与b = a[start : end : step]不同,后者是在list a中取出一些元素,然后重新组成一个新的list给b,不会改变list a的值;而前者直接改变a的值。这意味着通过这种方式既可为列表增加元素,也可为列表删除元素。其主要用法有:

  1. 插入。如果对列表中空的 slice 赋值,就变成了为列表插入元素
>>> a = [1, 2, 3]
>>> a[1:1] = [-3, -2, -1, 0]
>>> a
[1, -3, -2, -1, 0, 2, 3]
  1. 删除
>>> a = [-3, -2, -1, 0, 1, 2, 3]
>>> a[2:4] = []
>>> a
[-3, -2, 1, 2, 3]
  1. 替换。并不要求新赋值的元素个数与原来的元素个数相等
>>> a = [-3, -2, 1, 2, 3]
>>> a[:] = [1, 2, 3]
>>> a
[1, 2, 3]
  1. .但如果指定了 step 参数,则要求所赋值的列表元素个数与所替换的列表元素个数相等
>>> c_list = list(range(1, 10))
>>> c_list[2: 9: 2] = ['a', 'b', 'c', 'd']
>>> print(c_list)
 [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']

四、截取字符串

字符串本质上就是由多个字符组成的,因此程序允许通过索引来操作字符。
Python 字符串直接在方括号([])中使用索引即可获取对应的字符,字符串中第一个字符的索引为 0、第二个字符的索引为 1,后面各字符依此类推。此外,Python 也允许从后面开始计算索引,最后一个字符的索引为 -1,倒数第二个字符的索引为 -2······依此类推。

>>> print(s[3:5])
 i

以上用法皆适用

参考:
http://c.biancheng.net/view/2210.html
http://c.biancheng.net/view/2178.html

猜你喜欢

转载自blog.csdn.net/qq_40443457/article/details/87969507