python中反向索引 列表索引和反向索引

2021-10-16 23:34:13 字數 1709 閱讀 6698

python與索引

我一直在研究乙個普通的python**來將資料從csv中分離出來。我的目標是使用多種策略重新建立這段**,以便更好地理解python。稍後將對該**進行改進。我的**是有效的,但有一些事情我不明白。這裡是:with open('c:\my super secret path\primary_debates_cleaned.csv') as primarydata:

headers = primarydata.readline().strip('\n').split(',')

flag = 0

for lines in primarydata:

sepinit = lines.strip('\n').split('"')

if flag == 1:

sep1 = [item for item in sepinit[0].split(',') if item is not '']

sep2 = sepinit[1]

sep3 = [item for item in sepinit[2].split(',') if item is not '']

#sep4 = sepinit[3]

sep4 = sepinit[-2]

#sep5 = sepinit[4].strip(',')

sep5 = sepinit[-1].strip(',')

#sepfinal = [sep1[0], sep1[1], sep2, sep3[0], sep3[1], sep4, sep5]

sepfinal = [sep1[0], sep1[1], sep2, sep3[0:1], sep3[1:2], sep4, sep5]

if flag == 0:

sepfinal = headers

flag = 1

print sepfinal

我的第乙個問題是關於這個片段,特別是索引:

^$注釋的部分是我想做的,而未注釋的部分是有效的。似乎我必須反轉索引以獲取正確的資訊。「型別」似乎是相同的,都是列表。是我在開始的時候做得不對,還是我在這裡遺漏了一些簡單的東西?在

sepfinal = [sep1[0], sep1[1], sep2, sep3[0:1], sep3[1:2], sep4, sep5]

為什麼我只需使用0和1就可以從sep1獲取所需的資訊,而對sep3卻不能這樣做?在

最後,在列印列表sepfinal時,sep4和{}的元素顯示為列表。其他所有內容都只是列表sepfinal的乙個元素,但是sep4和{}是列表中的列表。如果這需要澄清,請告訴我。那麼,為什麼sep4和sep5出現在我的列表中?在

編輯0:沒有對此的輸入。我將進入powershell,並鍵入python mysecretprogramname.py來執行它。print sepfinal顯示以下括號:>>> [element 1, element 2, element 3, [element 4], [element 5]]

從一開始,我希望它是:>>> [element 1, element 2, element 3, element 4, element 5]

編輯1:由於資料拆分不正確,需要負索引。sepinit的長度正在更改,因此索引不正確。感謝@martineau指出了這種可能性。我通過簡單地將print(len(sepinit))放在sepinit之後的迴圈中進行測試。在

負索引資訊:somelist[-1]獲取列表中的最後一項,somelist[-2]獲取列表中倒數第二項,等等

正向索引 反向索引 B Tree索引

索引就是為了更快的找出需要的資訊。一般都要進行排序。正向索引 開發出來用來儲存每個文件的單詞的列表。實際上,時間 記憶體 處理器等等資源的限制,技術上正向索引是不能實現的。既 儲存乙個文件中有那些單詞。有多少單詞就有多少列。然後對每一列進行某種排序。反向索引 其中每條記錄,記錄的是乙個單詞都在那些文...

倒排索引,反向索引,Inverted index

倒排索引 英語 inverted index 也常被稱為反向索引 置入檔案或反向檔案,是一種索引 方法,被用來儲存 在全文搜尋 下某個單詞在乙個文件或者一組文件中的儲存位置 的對映。它是文件檢索系統 中最常用的資料結構 有兩種不同的反向索引形式 後者的形式提供了更多的相容性 比如短語搜尋 但是需要更...

反向鍵索引

反向鍵索引指原來相連比較緊密的值,強制使其分散在相距比較遠的位置上。例如 11112 和 11113 雖然是連續的值,但是其反轉後卻變成了 21111 和 31111 這樣兩個值相差得比較遠了,從而達到了分散的目的。這樣做會使得索引中的順序和儲存的儲存順序之間存在很大差別,從而嚴重破壞聚簇因子。但這...