Python, I'm repeating myself a lot when it comes to for loops and there must be a better way

Viewed 930

Lets say I have three lists and I need to iterate through them and do some stuff to the contents.

The three lists are streaks_0, streaks_1, and streaks_2. For each list, I need to use different values specific to each list. For example, streak_0_num0s will not work in the streaks_1 for loop.

Is there a way to make these three for loops into one or at least a way to clean this up?

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))
4 Answers
Related