Python 中的[:-1]

Vaibhav Vaibhav 2023年1月30日 2022年5月17日
  1. 在 Python 中切片
  2. 在 Python 中的 [ : -1] 的意义
Python 中的[:-1]

切片是编程语言中的一种操作,我们可以对对象序列或对象数组或字符串执行该操作。在切片中,我们使用函数和更简单的符号对数据结构进行切片,以获得子字符串或子序列,或原始数据结构的子数组。

在 Python 中切片

Python 是一种编程语言,这意味着它也支持切片。在 Python 中,主要有两种方式可以执行切片。第一个使用 slice() 函数,第二个使用索引语法。

在 Python 中使用 slice() 构造函数切片

切片构造函数接受三个参数:startstopstep。此构造函数创建一个切片对象来拆分字符串或任何对象序列。

  • start:这是切片应该开始的起始索引。它的默认值是 0
  • stop:这是切片应该结束的结束索引。这是一个强制性的参数。
  • step:这是在迭代切片过程的序列时应该采取的增量量。它的默认值为 1

为了更好地理解这个实用程序,让我们看一些例子。请注意,在 Python 中,-1 表示最后一个索引。并且,在索引或迭代时,最终结果中不考虑 stop 索引。操作是在它之前的所有东西上执行的。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

slices = [
    slice(5),
    slice(0, -1),
    slice(1, -1, 2),
    slice(1, 4, 1),
    slice(5, -1),
    slice(3, -1, 3),
    slice(0, 0),
    slice(-1, 0, -1),
    slice(-5, 5, -3),
]

for i in range(len(slices)):
    print(s[slices[i]])
    
for i in range(len(slices)):
    print(a[slices[i]])

输出:

ABCDE
ABCDEFGHIJKLMNOPQRSTUVWXY
BDFHJLNPRTVX
BCD
FGHIJKLMNOPQRSTUVWXY
DGJMPSVY

ZYXWVUTSRQPONMLKJIHGFEDCB
VSPMJG
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]
[2, 3, 4]
[6, 7, 8, 9]
[4, 7]
[]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[]

请注意,当单个值传递给 slice() 构造函数时,该值将分配给 stop 索引。这就是为什么对于 slice(5),我们得到的输出是 ABCDE

在 Python 中使用索引语法切片

在 Python 中,我们可以使用以下语法来执行切片,而不是使用 slice() 构造函数来创建切片对象。

sequence[start : stop : step]

接受的参数与前一种方法相同;真正改变的是编写它们的方式。startstopstep 的默认值分别是 0-11。请注意,我们可以跳过参数以使用默认值,但必须编写冒号。让我们看一些索引语法的例子,以便更好地理解它。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(s[5])
print(s[: -1])
print(s[0 : -1])
print(s[1 : -1 : 2])
print(s[1 : 4 : 1])
print(s[5 : -1])
print(s[3 : -1 : 3])
print(s[: 0])
print(s[-1 : 0 : -1])
print(s[-5 : 5 : -3])
print(a[5])
print(a[: -1])
print(a[0 : -1])
print(a[1 : -1 : 2])
print(a[1 : 4 : 1])
print(a[5 : -1])
print(a[3 : -1 : 3])
print(a[: 0])
print(a[-1 : 0 : -1])
print(a[-5 : 5 : -3])

输出:

F
ABCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXY
BDFHJLNPRTVX
BCD
FGHIJKLMNOPQRSTUVWXY
DGJMPSVY

ZYXWVUTSRQPONMLKJIHGFEDCB
VSPMJG
6
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8]
[2, 3, 4]
[6, 7, 8, 9]
[4, 7]
[]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
[]

在 Python 中的 [ : -1] 的意义

如我们所见,此语法属于索引语法。[ : -1] 将打印除最后一个之外的所有序列元素。让我们看一些例子来理解这个概念。

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print(s[ : -1])
print(a[ : -1])

输出:

ABCDEFGHIJKLMNOPQRSTUVWXY
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相关文章 - Python List