2024-04-26 13:59:12 发布
网友
我在寻找一种反向打印字符串的方法,在google上快速搜索后,我发现了这种方法:
假设a是一个字符串变量。这将向后返回a字符串:
a
a[::-1]
有人能解释一下这是怎么回事吗?
“-1”部分表示切片的“步骤”部分在本例中,它一次遍历字符串1个字符,但向后(负步骤表示从字符串的末尾开始)。例如,如果将步骤指定为2,则将获取字符串的每一个其他字符,从第一个字符开始。如果指定步骤-2,则将得到字符串的每一个其他字符,从最后一个字符开始并向后工作。
所以,简而言之,如果a = '12345':
a = '12345'
a[::2]
135
54321
a[::-2]
531
当然,[::]是extended slice运算符。它允许您获取子字符串。基本上,它的工作方式是指定要作为[开始:结束:步骤]的元素,并且它适用于所有序列。有两件事很好:
[::]
对于开始和结束,如果你给一个负数,它意味着从序列的末尾开始计数。例如,如果我有一个列表:
l = [1,2,3]
那么l[-1]是3,l[-2]是2,l[-3]是1。
l[-1]
l[-2]
l[-3]
对于step参数,负数意味着在序列中向后工作。所以对于一个列表:
step
l = [1,2,3,4,5,6,7,8,9,10]
您可以编写l[::-1],这基本上意味着在读取列表时使用-1的步长。Python在填写start和stop时会“做正确的事情”,因此它会反向遍历列表并给出[10,9,8,7,6,5,4,3,2,1]。
l[::-1]
[10,9,8,7,6,5,4,3,2,1]
我已经给出了带有列表的示例,但是字符串只是另一个序列,工作方式相同。因此a[::-1]意味着通过向后遍历字符串来连接获得的字符来构建字符串。
我认为下面的内容对反向打印字符串更有意义,但也许这只是我自己:
for char in reversed( myString ): print( char, end = "" )
“-1”部分表示切片的“步骤”部分在本例中,它一次遍历字符串1个字符,但向后(负步骤表示从字符串的末尾开始)。例如,如果将步骤指定为2,则将获取字符串的每一个其他字符,从第一个字符开始。如果指定步骤-2,则将得到字符串的每一个其他字符,从最后一个字符开始并向后工作。
所以,简而言之,如果
a = '12345'
:a[::2]
变成135
a[::-1]
变成54321
a[::-2]
变成531
当然,
[::]
是extended slice运算符。它允许您获取子字符串。基本上,它的工作方式是指定要作为[开始:结束:步骤]的元素,并且它适用于所有序列。有两件事很好:对于开始和结束,如果你给一个负数,它意味着从序列的末尾开始计数。例如,如果我有一个列表:
那么
l[-1]
是3,l[-2]
是2,l[-3]
是1。对于
step
参数,负数意味着在序列中向后工作。所以对于一个列表:您可以编写
l[::-1]
,这基本上意味着在读取列表时使用-1的步长。Python在填写start和stop时会“做正确的事情”,因此它会反向遍历列表并给出[10,9,8,7,6,5,4,3,2,1]
。我已经给出了带有列表的示例,但是字符串只是另一个序列,工作方式相同。因此
a[::-1]
意味着通过向后遍历字符串来连接获得的字符来构建字符串。我认为下面的内容对反向打印字符串更有意义,但也许这只是我自己:
相关问题 更多 >
编程相关推荐