双冒号“::”在 Python 中的起什么什么作用,下面两段代码是什么意思?
str1[::-1]
list1[3::4]
双冒号是 Python 序列切片功能中的一个特例。序列的切片使用三个参数 ,如果省略部分参数,则会出现双冒号。
「序列切片的语法格式:」
sequence[start:end:step]
「参数:」
start:切片的起始索引。如果省略,切片将从序列的开头(即索引 0)开始。
end:切片的结束索引。如果省略,切片将在序列的最后一个元素处结束。
step:切片中每个元素之间的增量。如果省略,则默认步长值为 1。
序列切片示例list1 = [1, 2, 3, 4, 5, 6]print(list1[0:5]) # 输出:[1, 2, 3, 4, 5]print(list1[0:5:1]) # 输出:[1, 2, 3, 4, 5]print(list1[1:3]) # 输出:[2, 3]print(list1[0:5:2]) # 输出:[1, 3, 5]序列切片中的参数 start,end,step 可以省略,如果省略 start,end,形成两个连续的冒号。
list1 = [1, 2, 3, 4, 5, 6]print(list1[::1]) # 输出:[1, 2, 3, 4, 5, 6]print(list1[::2]) # 输出:[1, 3, 5]print(list1[::-1]) # 输出:[6, 5, 4, 3, 2, 1]list1[::1]:切片从第一个元素到最后一个元素,变化量是 1。
list1[::2]:切片从第一个元素到最后一个元素,变化量是 2。
list1[::-1]:切片从第一个元素到最后一个元素,变化量是-1,实现反转序列的功能。
如果只省略 end,也形成两个连续的冒号。
list1 = [1, 2, 3, 4, 5, 6]print(list1[2::1]) # 输出:[3, 4, 5, 6]print(list1[2::2]) # 输出:[3, 5]print(list1[1::-1]) # 输出:[2, 1]list1[2::1]:切片从索引号为 2 的元素到最后一个元素,变化量是 1。
list1[2::2]:切片从索引号为 2 的元素到最后一个元素,变化量是 2。
list1[1::-1]:切片从索引号为 1 的元素反向到最后一个元素,变化量是-1。
如果省略所有三个参数list1[::],直接输出整个序列。
序列的切片操作是 Python 中一项重要的技能,可以操作字符串、列表等序列。理解这种语法对于任何 Python 程序员来说都是必不可少的,可以使用此技巧有效地编写代码。
❝
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
❞