python中”int(a[::-1])”的含义是什么?

What is the meaning of “int(a[::-1])” in Python?

本问题已经有最佳答案,请猛点这里访问。

我不能理解。我在《人民法典》中看到过。但不知道它做了什么。这是在python中。

1
str(int(a[::-1]))


assumming a是一个字符串。python中的slice符号有语法-

1
list[<start>:<stop>:<step>]

所以,当您执行EDOCX1[1]时,它从末尾开始,一直到第一个,获取每个元素。所以它将a颠倒过来。这同样适用于列表/元组。

示例-

1
2
3
>>> a = '1232'
>>> a[::-1]
'2321'

然后将其转换为int,然后再转换为string(虽然不确定为什么要这样做),这只会返回字符串。


用于

1
a[::-1]

意味着对于给定的字符串/列表/元组,可以使用

1
<object_name>[<start_index>, <stop_index>, <step>]

这意味着对象将从给定的开始索引中分割每个"步骤"索引,直到停止索引(不包括停止索引)并返回给您。

如果缺少开始索引或停止索引,则它将默认值作为给定字符串/列表/元组的开始索引和停止索引。如果步骤留空,则默认值为1,即通过每个索引。

所以,

1
2
a = '1234'
print a[::2]

将打印

1
13

现在这里的索引和步骤计数都支持负数。所以,如果给出-1索引,它会转换为len(a)-1索引。如果给-x作为步数,那么它将从开始索引开始,一直到停止索引反向。例如

1
2
a = '1234'
print a[3:0:-1]

这个会回来的

1
432

注意,它不返回4321,因为不包括停止索引。

现在在你的情况下,

1
str(int(a[::-1]))

只需反转存储在字符串中的给定整数,然后将其转换回字符串

即"1234"->"4321"->4321"->"4321"

如果您要做的只是反转给定的字符串,那么只需一个[::-1]就可以了。