我需要在Python的切片表示法上有一个很好的解释(引用是一个加号).
对我来说,这种符号需要一点点提升.
它看起来非常强大,但我还没有完全了解它.
切片索引具有有用的默认值; 省略的第一个索引默认为零,省略的第二个索引默认为要切片的字符串的大小.
>>> a = "hello"
>>> print(a[::-1])
olleh
Run Code Online (Sandbox Code Playgroud)
正如教程所说a[::-1]应该等于a[0:5:-1]
但是a[0:5:-1]如下所示是空的:
>>> print(len(a[0:5:-1]))
0
Run Code Online (Sandbox Code Playgroud)
问题不是解释切片符号的重复.那个问题是关于python中切片的一般用法.
假设我有:
>>> a = [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我想得到一个反向切片。假设我想要给定第 1 个和第 0 个元素,start_idx = 1并且stop_idx = 0:
[2, 1]
Run Code Online (Sandbox Code Playgroud)
使用切片符号:
a[x:y:z]
Run Code Online (Sandbox Code Playgroud)
我用什么值x,y以及z使用start_idx和stop_idx?
我试过了:
>>> a[start_idx:stop_idx:-1]
[2]
>>> a[start_idx:stop_idx-1:-1]
[]
Run Code Online (Sandbox Code Playgroud)
区分:
这个问题是关于一个带有负步长的切片,其中应该包含开始和结束索引元素(就像数学中的闭区间),并且切片结束索引是动态计算的。
了解Python的切片符号
上记号的一般通用的问题:什么x,y以及z平均在[X:Y:Z]。它没有提到逆转情况。
这个问题不同于其他标记的重复项,因为它处理反转切片开始和结束索引是计算或由变量给出而不是硬编码的一般情况。
受到XKCD geohashing漫画(http://imgs.xkcd.com/comics/geohashing.png)的启发,我想我已经开始用Python编写生成器了.不过我已经遇到了一个主要部分:转换为MD5然后转换为十进制.
它可能吗?
我有这样的示例列表:
l = [1,2,3]
print(l.reverse())
#give None instead [3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
那个怎么样?我该如何反转清单?