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 ?

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 ?

DDD
DDDoriginal
2024-11-16 08:46:02281parcourir

Why Am I Getting a

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 :

  • Convertir array_length en un entier :
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.

  • Utilisez la plage dans la boucle for :
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.

  • Supprimez la ligne i = 1 :
# 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn