2014-12-22 81 views
0

我试图获取从列表中的元素按照下面的代码:列表区域被视为元组,而不是整数

“数据”包含一些数据的字符串从我正在送出开始的价值观和结束偏移。 然后我将开始和结束偏移量乘以4来计算start,endOffsetAsPerPage

startOffset = data.split(",,")[1].split(":")[1]; 
endOffset = data.split(",,")[2].split(":")[1]; 
startOffsetAsPerPage = int(startOffset)*4; 
endOffsetAsPerPage = int (endOffset)*4; 
FilteredData = CassandraData[int(startOffsetAsPerPage),int(endOffsetAsPerPage)]; 

在执行,我面临着以下错误:

Traceback (most recent call last): 
    File "CassandraDataAPIResultValidator.py", line 55, in <module> 
    FilteredData = CassandraData[int(startOffsetAsPerPage),int(endOffsetAsPerPage)]; 
TypeError: list indices must be integers, not tuple 

能否请您在此提供帮助。

在此先感谢。

+0

切片您的阵列'INT(startOffsetAsPerPage):INT(endOffsetAsPerPage)',不'INT(startOffsetAsPerPage),INT(endOffsetAsPerPage)' – xnx

+0

'FilteredData = CassandraData [INT(startOffsetAsPerPage)],CassandraData [INT(endOffsetAsPerPage)] ' – inspectorG4dget

回答

1

您使用的是逗号:

FilteredData = CassandraData[int(startOffsetAsPerPage),int(endOffsetAsPerPage)] 
#             ^

逗号有使它成为一个元组,而不是一个切片。

使用冒号代替:

FilteredData = CassandraData[int(startOffsetAsPerPage):int(endOffsetAsPerPage)] 
#             ^

需要注意的是Python并不需要在线条的末端使用分号。

+0

谢谢,它解决了我的问题。 –

相关问题