2014-12-22 80 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

謝謝,它解決了我的問題。 –

相關問題