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

时间:2015-07-26 04:31:29

标签: python python-2.7 python-3.x

我无法理解这一点。我在人们的代码中看到了这一点。但无法弄清楚它的作用。这是在Python中。

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

2 个答案:

答案 0 :(得分:33)

Assumming a是一个字符串。 python中的Slice表示法具有语法 -

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

因此,当你执行a[::-1]时,它会从结尾开始,然后是第一个元素。所以它逆转了。这也适用于列表/元组。

示例 -

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

然后你将它转换为int然后再转换为字符串(虽然不知道你为什么这样做),这只会让你回到字符串。

答案 1 :(得分:4)

中使用的符号
#include <iostream> // for cin,cout we use iostream
#include <stdio.h> // you don't need this header file in this program
#include <string> // also you don't need this header

 using namespace std;

 int main()
 {
   int x,y;
   cout<<"Please give me a number : ";
   cin>>x;
   cout<<"Please give me another number : ";
   cin>>y;
   cout<<"The sum of "<<x<<" and "<< y<<" is "<<x+y;
   return 0;
 }

表示对于给定的字符串/列表/元组,您可以使用格式

对所述对象进行切片
a[::-1]

这意味着该对象将切换每个&#34;步骤&#34;从给定的起始索引开始的索引,直到停止索引(不包括停止索引)并将其返回给你。

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

所以,

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

会打印

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

现在索引在这里以及步数,支持负数。因此,如果给出-1索引,则转换为len(a)-1索引。如果你给-x作为步数,那么它将从起始索引开始每个第x个值,直到反向停止索引。例如

13

这将返回

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

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

现在就在你的情况下,

432

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

即&#34; 1234&#34; - &GT; &#34; 4321&#34; - &GT; 4321 - &gt; &#34; 4321&#34;

如果你要做的只是反转给定的字符串,那么只需要[:: - 1]即可。