在Python中,切片是一种强大的操作,它允许你从序列(如列表、元组或字符串)中提取子序列。切片操作使用`[start:stop:step]`的语法,其中:
`start` 表示起始位置(包含),如果省略,则默认为0。
`stop` 表示结束位置(不包含),如果省略,则默认为序列的长度。
`step` 表示步长,如果省略,则默认为1。
1. 获取列表中的子列表:
lst = [1, 2, 3, 4, 5]
sub_lst = lst[1:4] 结果为 [2, 3, 4]
sub_lst = lst[2:] 结果为 [3, 4, 5]
sub_lst = lst[:3] 结果为 [1, 2, 3]
sub_lst = lst[::2] 结果为 [1, 3, 5]
sub_lst = lst[:-2] 结果为 [1, 2, 3]
2. 获取字符串中的子字符串:
my_str = "abcdef"
result = my_str[0:2] 结果为 "ab"
result = my_str[3:6] 结果为 "def"
result = my_str[3:] 结果为 "def"
result = my_str[-3:] 结果为 "def"
result = my_str[0:6] 结果为 "abcdef"
result = my_str[:] 结果为 "abcdef"
result = my_str[::2] 结果为 "aceg"
3. 使用负数索引从序列末尾开始计数:
lst = [1, 2, 3, 4, 5]
sub_lst = lst[-2:] 结果为 [4, 5]
4. 切片操作符的省略规则:
如果省略`start`,则默认为0。
如果省略`stop`,则默认为序列的长度。
如果省略`step`,则默认为1。