Python 中 [::-1] 是用来做什么的?


Python 中的分片从字符串中获取子字符串。分片范围设置为参数,即开始、停止和步长。对于分片,第一个索引是 0。

对于负索引,要以 1 为步长反向显示第一个元素到最后一个元素,我们使用 [::-1]。[::-1] 会颠倒顺序。

通过类似的方式,我们可以这样对字符串进行分片。

# slicing from index start to index stop-1
arr[start:stop]

# slicing from index start to the end
arr[start:]

# slicing from the beginning to index stop - 1
arr[:stop]

# slicing from the index start to index stop, by skipping step
arr[start:stop:step]

# slicing from 1st to last in steps of 1 in reverse order
arr[::-1]

请记住,步长的负数表示“反向顺序”。下面让我们看一些示例 −

在 Python 中颠倒字符串的顺序

在 Python 中使用 [::-1] 颠倒字符串的顺序 −

示例

myStr = 'Hello! How are you?' print("String = ", myStr) # Slice print("Reverse order of the String = ", myStr[::-1])

输出

String =  Hello! How are you?
Reverse order of the String =  ?uoy era woH !olleH

颠倒 Pandas DataFrame 的行

示例

在 Python 中使用 [::-1] 颠倒数据框的行 -

import pandas as pd # Create a Dictionary dct = {'Rank':[1,2,3,4,5], 'Points':[100,87, 80,70, 50]} # Create a DataFrame from Dictionary elements using pandas.dataframe() df = pd.DataFrame(dct) print("DataFrame = \n",df) # Reverse the DataFrame using [::-1] print("\nReverse the DataFrame = \n",df[::-1])

输出

DataFrame = 
Rank  Points
0     1     100
1     2      87
2     3      80
3     4      70
4     5      50Reverse the DataFrame = 
Rank  Points
4     5      50
3     4      70
2     3      80
1     2      87
0     1     100

通过分片显示文本文件的内容的反向顺序

我们将以反向顺序显示文本文件的内容。为此,让我们首先创建一个文本文件 amit.txt,内容如下 -


示例

现在让我们以相反的顺序读取上述文件的内容 -

# The file to be read with open("amit.txt", "r") as myfile: my_data = myfile.read() # Reversing the data by passing -1 for [start: end: step] rev_data = my_data[::-1] # Displaying the reversed data print("Reversed data = ",rev_data)

输出

Reversed data = !tisisihT

更新于: 2022-09-15

19K+ 查看次数

开启你的 职业

完成课程后获得认证

开始
广告