J'écris un script python pour regarder une table de classement, où la performance d'une équipe sur plusieurs saisons est classée par rapport à d'autres, à partir du plus récent retour dans le temps , commeTrouver le plus grand delta positif dans une liste ordonnée d'entiers positifs
Latest -> <- Earliest
Team A: 10 10 12 12 13 13 13 14 15 14 16 13 11 15 14
Team B: 14 14 15 16 15 7 14 14 15 10 22 15 15 11 16
Ce que je veux est la plus grande amélioration positive, sur toute période de temps, pour chaque équipe. Ce que je ne veux pas, c'est la valeur absolue du plus bas au plus haut point, donc pour une équipe qui va
la plus forte hausse est à seulement 2, même si le plus grand delta est 12.
Dans le Dans le cas A ci-dessus, la plus forte hausse est de # 16 (il y a 7 saisons) à # 10 cette saison, alors que pour B, la plus forte hausse va de # 22 à # 7 entre 11 et 6 saisons.
Je veux faire une boucle sur une liste comme ça, et retourne quelque chose comme
Team A: 6
Team B: 15
je pouvais pop() chaque saison, et le soustraire de toutes les saisons précédentes, puis enregistrez le plus grand int positif, mais se sent malpropre. OTOH, en triant la liste et en tirant les premier et dernier éléments ferait apparaître des déclins dans le classement aussi bien. (Je veux seulement mesurer les gains, pas les pertes.)
Existe-t-il un moyen simple de prendre en compte l'ensemble des performances saisonnières? Trouvez le plus grand delta entre une performance récente, une bonne performance d'équipe et une performance antérieure moins bonne sans boucle?
Est-il max (A) - min (A) est que vous voulez la plus grande différence? – Rednivrug
* Le * Clay Shirky? Désolé, n'a pas pu résister - le profil ressemble à oui, celui-là. – tripleee
Je ne veux pas la plus grande valeur absolue, je veux la plus grande valeur positive. (Les équipes ont tendance à avoir de la difficulté à monter dans les classements, mais il est facile de tomber.) Je suis donc intéressé par une équipe qui va du 22 au 7, mais pas une équipe qui va du 7 au 22. –