我是Python 3的新手。今天,在使用list阅读有关python反向字符串的知识时,我了解了就地切片技术。代码看起来像这样:
s = input("Enter a string:\n")
''.join([ s[x:x+2][::-1] for x in range(0, len(s), 2) ])
我想知道如何应用第二个就位切片s[x:x+2][::-1]
来进行成对字符交换?对于其他语言,使用[something] [something]
表示2D数组解释。这是如何反转切片对的?
您能解释一下吗?预先感谢。
切片是这样的:
[start:stop:step]
现在,让我们接受您的代码。
s[x:x+2][::-1] for x in range(0, len(s), 2)
s[x:x+2]
这部分采用从x索引开始直到x + 1索引的字符串。没有反转,只能切片。
[::-1]
这部分从上面获取切片的字符串,然后再次将整个字符串切片[因为没有开始和停止,因此没有整个字符串],但是第三个参数告诉它切片需要采取多少步骤。这里是-1
,表示它将取最后一个元素并将其遍历,从而产生反向字符串。
PS:尽管如@kaya的注释中所述,您的代码也不会反转字符串。