Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que j'obtiens une erreur « TypeError : les indices de liste doivent être des entiers ou des tranches, pas des str » lors de la fusion de listes ?
TypeError : les indices de liste doivent être des entiers ou des tranches
Lors de la tentative de fusion de deux listes en un seul tableau, une erreur "TypeError : indices de liste doit être des entiers ou des tranches, et non une erreur str" peut se produire. Cette erreur indique qu'une tentative a été effectuée pour accéder à un élément de liste en utilisant une valeur non entière (c'est-à-dire une chaîne).
Dans l'exemple de code fourni, les ajustements suivants sont nécessaires pour résoudre cette erreur :
array_length = len(array_dates)
Cette ligne garantit que array_length contient une valeur entière représentant la longueur de la liste array_dates.
for i in range(array_length):
Le La boucle for doit utiliser la fonction range pour parcourir array_dates. Cela incrémentera automatiquement i à chaque itération.
# Remove this line # i += 1
Puisque i est automatiquement augmenté de plage , la ligne i = 1 est inutile et doit être supprimée.
Approche alternative : utiliser zip Fonction
Vous pouvez également utiliser la fonction zip pour combiner les deux listes étant donné qu'elles ont la même longueur :
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!