区分 Python [-x], [-x:], [:], [:-x], [::-1], [x::-1]

区分 Python [-x], [-x:], [:], [:-x], [::-1], [x::-1]

[-x] 表示 列表的倒数第 x 个元素

numbers = [1, 2, 3, 4, 5, 6]
print(numbers[-1]) # 倒数第一个元素 6
print(numbers[-2]) # 倒数第二个元素 5

[-x:] 表示 最后 x 个元素构成的切片

numbers = [1, 2, 3, 4, 5, 6]
print(numbers[-1:]) # 最后一个元素构成的切片 [6]
print(numbers[-2:]) # 最后两个元素构成的切片 [5, 6]

[:] 表示 整个列表(用于复制列表)

numbers = [1, 2, 3, 4, 5, 6]
new_numbers = numbers[:]
print(new_numbers) # 完整列表[1,2,3,4,5,6]

[:-x] 表示 除了最后 x 个元素构成的切片

numbers = [1, 2, 3, 4, 5, 6]
print(numbers[:-1]) # 除了最后一个元素构成的切片 [1, 2, 3, 4, 5]
print(numbers[:-2]) # 除了最后两个元素构成的切片 [1, 2, 3, 4]

[::-1] 表示 列表翻转

同时 [::-x] 也可以代表整除 x 的翻转,具体原因与翻转的原理有关,可以参考我的下一篇博文

numbers = [1, 2, 3, 4, 5, 6]
print(numbers[::-1]) # 列表翻转 [6, 5, 4, 3, 2, 1]

[x::-1] 表示 列表从下标 x 元素开始进行翻转 ( 注意是下标为 x ,而不是第 x 个元素) ( 向前翻转 )

numbers = [1, 2, 3, 4, 5, 6]
print(numbers[2::-1]) # 从下标为 2 开始翻转 [3, 2, 1]
print(numbers[3::-1]) # 从下标为 3 开始翻转 [4, 3, 2, 1]

猜你喜欢

转载自www.cnblogs.com/AlanHe/p/12334757.html
x
x1