Disons que j'ai trois listes et j'ai besoin de itérer à travers eux et faire des choses au contenu. Les trois listes sont les suivantes: streaks_0
, streaks_1
et streaks_2
. Pour chaque liste, j'ai besoin d'utiliser différentes valeurs spécifiques à chaque liste. Par exemple, streak_0_num0s
ne fonctionnera pas dans la boucle streaks_1
.Python, je me répète beaucoup quand il s'agit de boucles for et il doit y avoir une meilleure façon
Existe-t-il un moyen de transformer ces trois boucles en une seule ou au moins une façon de nettoyer cela?
for number in streaks_0:
if number == 0:
streak_0_num0s += 1
elif number != 0:
streak_0_sum += number
streak_0_average = (streak_0_sum/(len(streaks_0) - streak_0_num0s))
for number in streaks_1:
if number == 0:
streak_1_num0s += 1
elif number != 0:
streak_1_sum += number
streak_1_average = (streak_1_sum/(len(streaks_1) - streak_1_num0s))
for number in streaks_2:
if number == 0:
streak_2_num0s += 1
elif number != 0:
streak_2_sum += number
streak_2_average = (streak_2_sum/(len(streaks_2) - streak_2_num0s))
bien sûr: utiliser une liste de dictionnaires par exemple. Mais ce serait mieux adapté pour http://codereview.stackexchange.com –
Je vote pour fermer cette question hors-sujet parce que http://codereview.stackexchange.com/ est le site pour demander des améliorations de code –
Sans rapport à votre question: réduisez "elif number! = 0" à un simple "else". – jarmod