Avatar ·

Comment corriger ? 'int' object is not subscriptable

📁 Sujets avancés sur Python

Voici le problème : Générer 20 nombres entiers aléatoires dans la plage de -5 à 4, les écrire dans les cellules du tableau. Compter combien d'entre eux sont positifs, négatifs et nuls. Afficher à l'écran les éléments du tableau et les quantités comptées. Voici le texte de l'erreur :

a[i]=int(a[i])TypeError: 'int' object is not subscriptable.

Comment le corriger ? Merci beaucoup !

import randoma=[]for i in range(20):      a=random.randint(-5,4                    
Avatar ·

On peut utiliser le module itertools :

from itertools import groupbyx = ['a', 'a', 'a', 'f', 'h', 'k', 'k']new_x = [el for el, _ in groupby(x)]print(new_x)    # ['a', 'f', 'h', 'k']

Cette méthode est meilleure que la solution avec set car itertools.groupby conserve l'ordre dans lequel les éléments apparaissaient dans la séquence d'origine. Alors que set ne garantit pas la conservation de l'ordre.

Connectez-vous pour laisser une réponse

Blogs