0
votes

Compte entre index d'une liste

J'écris une fonction contenant une liste de chiffres et je dois trouver un moyen de compter les occurrences des numéros 1 et 2, uniquement pour les 3 dernières valeurs de la liste.

Je connais évidemment la fonction .Count () , mais je me demande s'il y a un moyen d'utiliser seulement entre un indice donné, dans ce cas, l'index serait ( (len (historique-3), (len (historique)) , historique étant une liste contenant uniquement des valeurs 1 et 2 2 .

tl; DR: Qu'est-ce qu'un moyen de compter des occurrences de valeurs dans une liste entre index donnés.


1 commentaires

Liste [-3:] vous donnera les 3 derniers éléments de la liste


3 Réponses :


1
votes

Utilisez la tranchée négative pour obtenir les valeurs code> N CODE> N Comptez-le à l'aide de Compter () CODE>.

lst[-3:].count(2) # counts number of 2 from last three elements of list lst.
lst[-3:].count(1) # counts number of 1 from last three elements of list lst.


0 commentaires

0
votes

Vous pouvez trancher la liste, puis compter xxx

et vous pouvez faire exactement la même chose avec les indices indiqués ici xxx

J'espère que cela est d'une utilisation.


0 commentaires

2
votes

Comme Rocky Li suggère que vous puissiez obtenir les trois derniers éléments d'une liste en l'appliquant Historique [-3:] code>. Vous pouvez ensuite utiliser la fonction de comptage sur la tranche pour obtenir le nombre de 1 code> et 2 code> dans les trois derniers points de la liste.

Par exemple: p >

>>> history = [1, 2, 1, 2, 1, 2, 1, 2, 1]
>>> count_1 = history[-3:].count(1)
>>> count_2 = history[-3:].count(2)
>>> count_1
2
>>> count_2
1


0 commentaires