Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich beim Zusammenführen von Listen die Fehlermeldung „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht str'?

Warum erhalte ich beim Zusammenführen von Listen die Fehlermeldung „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht str'?

DDD
DDDOriginal
2024-11-16 08:46:02281Durchsuche

Why Am I Getting a

TypeError: Listenindizes müssen Ganzzahlen oder Slices sein

Beim Versuch, zwei Listen in einem einzigen Array zusammenzuführen, wird ein „TypeError: Listenindizes“ angezeigt muss ganze Zahlen oder Slices sein, nicht str“ kann ein Fehler auftreten. Dieser Fehler weist darauf hin, dass versucht wurde, über einen nicht ganzzahligen Wert (d. h. eine Zeichenfolge) auf ein Listenelement zuzugreifen.

Im bereitgestellten Codebeispiel sind die folgenden Anpassungen erforderlich, um diesen Fehler zu beheben:

  • Arraylänge in eine Ganzzahl umwandeln:
array_length = len(array_dates)

Diese Zeile stellt sicher dass array_length einen ganzzahligen Wert enthält, der die Länge der array_dates-Liste darstellt.

  • Bereich in der for-Schleife verwenden:
for i in range(array_length):

The for Die Schleife sollte die Range-Funktion verwenden, um array_dates zu durchlaufen. Dadurch wird i bei jeder Iteration automatisch erhöht.

  • Entfernen Sie die Zeile i = 1:
# Remove this line
# i += 1

Da i automatisch um den Bereich erhöht wird , die Zeile i = 1 ist unnötig und sollte entfernt werden.

Alternativer Ansatz: Verwendung von zip Funktion

Alternativ können Sie die beiden Listen mit der Zip-Funktion kombinieren, sofern sie die gleiche Länge haben:

import csv

dates = ['2020-01-01', '2020-01-02', '2020-01-03']
urls = ['www.abc.com', 'www.cnn.com', 'www.nbc.com']

csv_file_path = '/path/to/filename.csv'

with open(csv_file_path, 'w') as fout:
    csv_file = csv.writer(fout, delimiter=';', lineterminator='\n')
    result_array = zip(dates, urls)
    csv_file.writerows(result_array)

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Zusammenführen von Listen die Fehlermeldung „TypeError: Listenindizes müssen Ganzzahlen oder Slices sein, nicht str'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn