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
广告