gat*_*ado 7 python indexing slice
我想从字符串创建切片对象; 现在唯一的方法似乎是通过一个繁琐的hacky eval声明
class getslice:
def __getitem__(self, idx): return idx[0]
eval("getslice()[%s, 1]" %(":-1"))
Run Code Online (Sandbox Code Playgroud)
提前致谢.
编辑:对不起,如果原始提示不清楚,则在这种情况下输入为": - 1".关键在于解析字符串.Ignacio Vazquez-Abrams的回答至少解决了这个问题(并且似乎也适用于反向索引),但我认为如果不是在概念上干净,我上面的解决方案仍然更清晰(如果Python改变了切片语法,它将正常工作).
slice(*map(lambda x: int(x.strip()) if x.strip() else None, mystring.split(':')))
对于单个参数切片'-1'左右,'1'当mystring.split(':')==1您只是调用时int(x)
根据要求,将其从评论部分中删除。
slice(*[{True: lambda n: None, False: int}[x == ''](x) for x in (mystring.split(':') + ['', '', ''])[:3]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8236 次 |
| 最近记录: |