use*_*783 5 python introspection range xrange python-2.7
If s是slicePython中的一个对象,使用s = slice(start, stop, step)或者(在适当的上下文中)start:stop:step构造,用于构造的值s可以从slice对象本身获得s.start,s.stop和s.step.
类似的start,stop并且step成员可在range在Python 3.4 [对象Issue9896.例如,range(1, 4, 2).start == 1.
然而,Python 2.7版xrange的对象不具备start,stop和step成员.有没有其他方法可以获取用于构造xrange对象本身的值?
它不漂亮,但你可以str解析xrange
>>> rr = xrange(1, 4, 2)
>>> str(rr)
'xrange(1, 5, 2)'
>>> start = str(rr).split('(')[1].split(',')[0]
>>> start
1
Run Code Online (Sandbox Code Playgroud)
ETC
请注意,max如果范围内指定了步骤,则无法通过这种方式可靠地找到 。例如,在上面的示例中,在表示中(1, 4, 2)变为。(1, 5, 2)str
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |