[::-1] 在 Python 与例子

⚡ 智能摘要

[::-1] 在 Python 是一个强大的切片表达式,可以反转任何序列类型。 Less涵盖索引基础知识、切片参数、a[-1] 和 a[::-1] 之间的区别、列表反转以及示例。

  • 🔁 Reverse 片: [::-1] 使用空起始点、空结束点和步长 -1。
  • 📍 索引: 正指数从零开始;负指数从末尾开始计数。
  • ???? [-1] 对比 [::-1]: [-1] 返回最后一个元素;[::-1] 返回整个反转序列。
  • 📋 列表和字符串: 适用于任何索引可迭代对象,包括列表、字符串、元组、字节。
  • 快速且地道: 用 C 语言实现,速度远快于 Python 循环。
  • 🤖 AI 代码片段辅助: AI 工具可以解释切片参数并将循环转换为切片。

Python 切片 Reverse

[::-1] 中的内容 Python?

Python 在使用 1 时有许多不同的语法和应用。它可以表示为 [-1],也可以描述为 [::-1].

上述符号中的方括号通常指定列表中的多个项目。使用方括号时,可以指定列表中的多个项目或单个项目。

每当程序员定义 [::-1] 时,它都表明程序必须在给定的列表中从头到尾遍历。您可以在 Python 中进行索引,这有助于对可迭代序列(例如列表或字符串)进行切片和切块。

[::-1] 的类型是什么? Python?

在 Python 中,有两种表示 1 的方法,如下所述:–

  • 它可以用没有冒号的简单方括号来表示,也可以用双冒号语法来表示。
  • 可以使用 [] 括号将可迭代序列(例如列表或字符串)解析为项目级别。
  • 在 [] 括号内,必须提供不同的索引。

以下是列表的语法,如下所示:-

句法: -

SEQUENCE [START: STOP: STEP]

上述语法是一般表示。没有冒号的方括号的语法表示如下:

句法: -

SEQUENCE [-1]

带有两个冒号的方括号的语法如下所示:

句法: -

SEQUENCE[::-1]

解释: -

  • start 参数表示起始索引号。
  • stop 参数代表结束或最后一个索引号。
  • 参数 step 是可选参数,用于提供选择的增量。在语法中,步数初始化为 -1。
  • 在上面的语法中,序列可以是字符串、列表或字典。

a[-1] 和 a[::-1] 之间的区别 Python

[-1] 用于负索引,有助于在给定列表中以相反的顺序选择项目。它表示从相反顺序的末尾开始的列表。这里,[-1] 表示从最后一个位置开始的第一个项目。以下是解释 A[-1] 用法的示例

示例:–

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The last element in the list is", b [-1])

输出:

The list is [7, 4, 5, 6]
The last element in the list is 6

A[::-1] 和 A[-1] 在执行上看起来类似,但在语法上有所不同。前者有三个参数,而后者只有一个参数。

A[::-1] 中的前两个参数表示列表的开始和结束。如果省略开始和结束参数,则返回列表中的所有项目。

最后一个参数以相反的顺序显示输出。此参数是可选的。

下面是一个解释 A[::-1] 用法的示例

示例:–

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reversed list as determined is", b [::-1])

输出:

The list is [7, 4, 5, 6]
The reversed list as determined is [6, 5, 4, 7]

说明:

以上 Python 代码不会对创建的列表产生相同的结果。相反,它为作为输入值提供的基本列表提供反向列表。

上述差异取决于 Python的索引规则。

如何执行索引 Python?

为了访问可迭代的 Python 列表中的项目,需要在列表中执行索引或使用与列表中项目的位置相关的索引。

Python 对列表执行从零开始的索引。对于从零开始的索引,列表中的第一个项目被指定为位置 0。

让我们举一个例子,尝试访问 python 列表中的第一个和第二项。

示例:–

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

输出:

The list is [7, 4, 5, 6]
The reverse ordered list as determined is [6, 5, 4, 7]
The second found item in the list is 4
The first or beginning item in the list is 7

说明:

如上代码所示,要访问列表中的第一个元素,需要将 0 作为列表类型平方中的索引。同样,需要将 1 作为列表类型平方中的索引来访问列表的第二个元素。列表的索引也可以应用于字典、字符串和元组。

让我们以索引为例 Python 中的字符串类型.

计费示例:

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

输出:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is U
The first or beginning item in the list is G

说明:

如上所示,输出共享字符串“GURU99”的第一个和第二个元素。必须使用双引号初始化字符串。 Python 还允许我们对可迭代列表、字符串或字典执行负索引。

通过提供负索引,可以访问列表的最后一个元素以及倒数第二个元素。让我们以字符串的负索引为例,如下所示。

示例:–

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [-2])
print (" The first or beginning item in the list is", b [-1])

输出:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is 9
The first or beginning item in the list is 9

索引操作返回一个元素;切片操作返回一个范围。

切片的作用 Python

简单来说,切片就是切割某物。它允许在 Python 中对列表进行切割。

在这里,切片在 Python:

  • 它允许访问可迭代列表或字符串的特定元素。
  • 它还有助于删除和修改字符串或列表。
  • 它使得可迭代序列简洁且易读。
  • 与索引概念下的单个元素相比,它使我们能够访问多个项目。
  • 它利用索引来获取可迭代序列中的特定项目范围。
  • 无论是进行切片还是对可迭代序列进行索引,python 下的索引始终从零开始。

切片可以通过两种基本形式实现。

  • 第一种形式是提供序列的起始和终止索引参数。这样,​​序列将返回序列起始和终止 [end -1] 之间的所有可能项。
  • 第二种方法是随步骤提供序列的开始和停止索引参数。步骤允许返回开始和停止之间的一系列项目内的特定或选定项目。

以下是第一种切片形式的语法:-

语法:

SEQUENCE [START: STOP]

以下是第二种切片形式的语法:-

语法:

SEQUENCE [START: STOP: STEP]

让我们以第一种形式的切片示例为例,如下所示。

例如:

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:3]
print (" The substring in the list is", Substring)

输出:

The list is GURU99
The substring in the list is GUR

让我们以第二种形式的切片示例为例,如下所示。

例如:

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:9:2]
print (" The substring in the list is", Substring)

输出:

The list is GURU99
The substring in the list is GR9

Python 还对可迭代序列执行负切片。它使您能够从序列的末尾访问一系列项目或元素。

让我们举一个例子来访问序列中的最后三个元素,如下所示。

例如:

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[-5:-1]
print (" The substring in the list is", Substring)

输出:

The list is GURU99
The substring in the list is URU9

如何逆转 Python 使用 [::-1] 列出 Python?

在 Python 中,可以使用负切片和负索引来反转字符串或列表。我们以名为“GURU99”的字符串为例。

例如:

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[::-1]
print (" The reverse of string GURU99 is", Substring)

输出:

The list is GURU99
The substring in the list is 99URUG

说明:

这里,代码从最后一个位置获取所有字符串元素。它从 -1 开始,并从最后一个位置获取所有项目或元素。上面的代码行告诉 Python 从最后一个元素后退并向上移动到第一个元素,从而得到一个反向列表或字符串。

[::-1] 的示例 Python

切片或索引可用于扩展trac从更长的列表中筛选出一个更短的列表。同样,它也可以用于……trac从较长的字符串中提取子字符串。

让我们举个例子来说明如何在 Python 中使用 1 来表示trac从较大列表中筛选出较小列表:

例如:

Python Code:

b = [1, 2, 3, 4, 5, 6, 7]
slist = b[1::]
print("the smaller list from larger list is:",slist)

输出:

the smaller list from the larger list is: [2, 3, 4, 5, 6, 7]

说明:

在上面的代码中,离开第一个索引,python extrac它从列表的第 2 个位置开始遍历所有元素,并创建一个更小的列表。这是因为 Python 在为列表元素的位置应用索引时遵循从零开始的原则。

常见问题

这是一个没有起始位置、没有结束位置、步长为 -1 的切片。它返回一个所有元素顺序相反的新序列。

像 Copilot 和 ChatGPT 这样的 AI 助手可以解释开始、停止、步进参数,并将冗长的 for 循环转换为简洁的切片表达式。

是的。当可读性比简洁性更重要时,AI 工具会推荐 list(reversed(seq)),并解释每种方法在时间和内存方面的权衡。

a[-1] 只返回最后一个元素。a[::-1] 返回整个序列的反转结果。

是的。它适用于任何序列类型,包括列表、字符串、元组、字节和字节数组。返回的序列将保持其原始类型。

切片操作通常速度更快,因为它使用 C 语言运行并返回一个完整的对象。而 reversed() 返回的是一个惰性迭代器,虽然内存占用较低,但速度较慢。

不。切片操作返回的是一个新的序列。原始列表、字符串或元组不会被修改。要对列表进行原地反转,请使用 list.reverse()。

是的。NumPy 支持相同的切片语法,返回的是反转视图而不是副本。如果需要独立的数组,请使用 `.copy()`。

总结一下这篇文章: