2 votes

Comment compter combien de fois un nombre est répété dans une liste ( et si un nombre n'est pas utilisé en fonction des valeurs d'une autre liste ) ?

J'ai deux listes :

list1 = [1,2,3]
list2= [1,1,2,2,2]

Existe-t-il un moyen d'imprimer le nombre de fois qu'un nombre de la liste1 est apparu dans la liste2/ ou si un nombre n'est pas apparu dans la liste2, alors dire 0.

J'ai essayé d'utiliser :

Counter(list2)

mais cela me donne la sortie :

{2: 3, 1: 2}

le résultat que je veux est :

{1: 2, 2: 3, 3:0}

Lorsque j'utilise le compteur, il ne dit pas combien de 3 sont vus dans la liste 2. Y a-t-il un moyen simple de contourner ce problème ?

3voto

akash karothiya Points 4398

Vous devez itérer la liste 1 et ensuite donner une référence à la liste 2.

>>> {i: list2.count(i) for i in list1}
{1: 2, 2: 3, 3: 0}

1voto

sachin dubey Points 572

Utiliser une simple boucle for

list1 = [1,2,3]
list2= [1,1,2,2,2]

dict = {}
count = 0
for num1 in list1:
   for num2 in list2:
      if num1 == num2:
        count = count +1
   dict[num1] = count
   count = 0

print(dict)

sortie

{1: 2, 2: 3, 3:0}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X