什么是 '结果[:: - 1]' 是什么意思?(What does 'r

2019-07-03 19:18发布

我只是来越过这让我困惑了一下下面的Python代码:

 res = self.result[::-1].encode('hex')

该编码的东西是很清楚的,它应该被表示为十六进制值。 然而,这是什么self.result [:: - 1]的意思,尤其是冒号?

Answer 1:

它代表了“切片”从结果服用。 第一元件是起始位置,第二是端部(不含),三是步骤。 一个空值之前/冒号表示之后你要么从头开始( s[:3]或延伸到所述端部( s[3:] )。 你可以在这里包括实际数字为好,但让他们出来的时候可能是更地道。

例如:

In [1]: s = 'abcdefg'

回到启动之初和索引位置2停止字符串的切片:

In [2]: s[:3]
Out[2]: 'abc'

返回开始于第三索引位置并延伸到端部的字符串的切片:

In [3]: s[3:]
Out[3]: 'defg'

返回开始于端并且在时间步长上向后移动一个元件字符串的切片:

In [4]: s[::-1]
Out[4]: 'gfedcba'

返回一个包含所有其他元素的字符串切片:

In [5]: s[::2]
Out[5]: 'aceg'

他们都可以组合使用相互为好。 在这里,我们返回返回所有其他元素开始索引位置6和去索引位置2片(注意, s[:2:-2]会更地道,但我挑的信:)一个奇怪的号码):

In [6]: s[6:2:-2]
Out[6]: 'ge'

步骤元件确定返回的元素。 在您的例子中, -1表示它会在时间上倒退一步,通过该项目,一个元素。



Answer 2:

这是一个常见的成语是反转的列表。

a = ['a', 'b', 'c', 'd']
b = a[::-1]
print b

['d', 'c', 'b', 'a']

你可以阅读“扩展片” 在这里 。



文章来源: What does 'result[::-1]' mean?
标签: python slice