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
Libérer: 2024-11-16 08:46:02
original
322 Les gens l'ont consulté

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)
Copier après la connexion

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):
Copier après la connexion

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
Copier après la connexion

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)
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal