是否有[:]使用python的内置slice类的等价物?
In [8]: 'abcdef'[:3]
Out[8]: 'abc'
In [9]: 'abcdef'[slice(3)]
Out[9]: 'abc'
In [10]: 'abcdef'[:]
Out[10]: 'abcdef'
In [11]: 'abcdef'[slice()]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-9afb03fec62a> in <module>()
----> 1 'abcdef'[slice()]
TypeError: slice expected at least 1 arguments, got 0
Run Code Online (Sandbox Code Playgroud)
当然,以下任何一个都是等价的:
>>> seq = [1,2,3,4]
>>> seq[slice(None)]
[1, 2, 3, 4]
>>> seq[slice(None, None)]
[1, 2, 3, 4]
>>> seq[slice(None, None, None)]
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
您可以使用None默认值:
>>> 'abcdef'[:]
'abcdef'
>>> 'abcdef'[None:]
'abcdef'
>>> 'abcdef'[None:None]
'abcdef'
>>> 'abcdef'[None:None:None]
'abcdef'
>>> 'abcdef'[slice(None)]
'abcdef'
>>> 'abcdef'[slice(None, None)]
'abcdef'
>>> 'abcdef'[slice(None, None, None)]
'abcdef'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |