Heim > Artikel > Backend-Entwicklung > Wie behebe ich den Fehler „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht Str' in Python?
TypeError: List Indices Must Be Integers
Der Fehler „TypeError: List Indices Must Be Integers or Slices, not str“ tritt auf, wenn Sie Versuchen Sie, mithilfe eines String-Index anstelle einer Ganzzahl oder eines Slice auf ein Listenelement zuzugreifen. Dieser Fehler tritt häufig auf, wenn zwei Listen für den CSV-Export in einem einzigen Array zusammengeführt werden.
Um diesen Fehler zu vermeiden, befolgen Sie diese Schritte:
Konvertieren Sie die Länge der zweiten Liste (array_dates) zu einer Ganzzahl, wie es bei Indizes immer der Fall sein muss ganze Zahlen.
array_length = len(array_dates)
Durchlaufen Sie die neue Ganzzahl array_length mit der Bereichsfunktion, die den Iteratorwert automatisch erhöht.
for i in range(array_length): # Use `xrange` for Python 2.
Sie können auch rationalisieren Ihren Code, indem Sie zip verwenden, um die beiden Listen zu kombinieren, da sie die gleiche Länge haben:
result_array = zip(array_dates, array_urls) csv_file.writerows(result_array)
Hier ist der korrigierte Code:
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)
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht Str' in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!