在Python中如何使用slice()函数对列表切片并获取子列表
发布时间:2023-11-18 01:44:56
在Python中,可以使用切片操作符([:])来对列表进行切片,也可以使用内置函数slice()函数来对列表进行切片并获取子列表。
使用切片操作符对列表进行切片的语法如下:
sub_list = list[start:end:step]
其中,start表示切片的起始位置,end表示切片的结束位置,不包含end位置的元素,step表示切片的步长。
如果start、end和step都不指定,则默认为从列表的开头到结尾,步长为1。
示例1:获取列表的前三个元素
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] sub_list = my_list[:3] print(sub_list) # 输出:[1, 2, 3]
示例2:获取列表的从第4个元素到第8个元素(不包含第8个元素)
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] sub_list = my_list[3:8] print(sub_list) # 输出:[4, 5, 6, 7, 8]
示例3:获取列表的所有奇数位置的元素
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] sub_list = my_list[1::2] print(sub_list) # 输出:[2, 4, 6, 8, 10]
使用slice()函数对列表进行切片的语法如下:
sub_list = slice(start, end, step)
其中,start、end和step的含义与切片操作符相同。
示例4:使用slice()函数获取列表的前三个元素
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] s = slice(3) sub_list = my_list[s] print(sub_list) # 输出:[1, 2, 3]
示例5:使用slice()函数获取列表的从第4个元素到第8个元素(不包含第8个元素)
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] s = slice(3, 8) sub_list = my_list[s] print(sub_list) # 输出:[4, 5, 6, 7, 8]
示例6:使用slice()函数获取列表的所有奇数位置的元素
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] s = slice(1, None, 2) sub_list = my_list[s] print(sub_list) # 输出:[2, 4, 6, 8, 10]
无论是使用切片操作符还是slice()函数,切片操作都返回一个新的列表,而不是原始列表的视图。因此,对切片操作得到的子列表进行修改不会影响原始列表。
