在Python 2.3文档的this page底部,它说:
切片对象现在有一个方法索引(长度),给定序列的长度,返回一个(开始,停止,步骤)元组,可以直接传递给range()
以下是一些测试代码:
s = slice(0, 10)
r = range(s.indices(10))
抛出TypeError
:
TypeError: range() integer end argument expected, got tuple.
为什么这不起作用?
在我的用例中,range()
中调用了slice
,我需要提供以这种方式使用的CREATE TABLE UserKarma (
user_id uuid,
sub_type text,
karma counter,
PRIMARY KEY(user_id, sub_type)
) WITH COMPACT STORAGE
。
答案 0 :(得分:1)
试试这个:
r = range(*s.indices(10))
说明:range()
最多需要三个整数作为参数,因此我们需要使用{解包由indices()
返回的整数元组 {1}},splat运算符。