首頁 >後端開發 >Python教學 >如何修復 Python 中的「TypeError:清單索引必須是整數或切片,而不是 Str」錯誤?

如何修復 Python 中的「TypeError:清單索引必須是整數或切片,而不是 Str」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-19 06:24:031080瀏覽

How to Fix the

TypeError: 列表索引必須是整數

錯誤「TypeError: 列表索引必須是整數或切片,而不是str」嘗試使用字元串索引而不是整數或切片來存取清單項目。將兩個清單合併為單一陣列以進行 CSV 匯出時,此錯誤很常見。

要避免此錯誤,請按照以下步驟操作:

  1. 轉換第二個清單的長度(array_dates) 為整數,因為索引必須始終為整數。

    array_length = len(array_dates)
  2. 使用 range 函數迭代新的 array_length 整數,該函數會自動遞增迭代器值。

    for i in range(array_length):  # Use `xrange` for Python 2.
  3. 刪除該行i = 1 從你的循環,因為它不再必要的。

您也可以透過使用zip 組合兩個清單來簡化程式碼,因為它們具有相同的長度:

result_array = zip(array_dates, array_urls)
csv_file.writerows(result_array)

這是修正的程式碼:

def fill_csv(self, array_urls, array_dates, csv_file_path):
    array_length = len(array_dates)

    # We fill the CSV file
    with open(csv_file_path, "w") as file:
        csv_file = csv.writer(file, delimiter=';', lineterminator='\n')

        # We merge the two arrays in one
        result_array = []
        for i in range(array_length):
            result_array[i][0].append(array_urls[i])
            result_array[i][1].append(array_dates[i])

        csv_file.writerows(result_array)

以上是如何修復 Python 中的「TypeError:清單索引必須是整數或切片,而不是 Str」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn