vinay kn
vinay kn

Reputation: 17

How can i loop over same list again with an conditional increment count

I am trying for a roaster method, where I have want to loop over the same list and print primary,secondary and change the primary and secondary every week,if weekday is monday.

team = [('abc', 123),('def', 343),('ghi', 345),('jkl', 453)]

Week 1:- primary :- ('abc', 123) secondary :- ('def', 343)

Week 2:- primary:- ('ghi', 345) secondary:- ('jkl', 453)

Week 3:- primary:- ('jkl', 453) secondary:-('abc', 123)

And so on.

team = [('abc', 123),('def', 343),('ghi', 345),('jkl', 453)]
count = 0
if week_day == 'Wed':
    if True:
        count += 1
print('count', count)
print('pri', team[count][0])
print('sec_name', team[count + 1])

Upvotes: 1

Views: 37

Answers (1)

eumiro
eumiro

Reputation: 212885

In Python 3 you can use generators/. With itertools.cycle you can iterate over a list indefinitely:

import itertools as it

team = [('abc', 123), ('def', 343), ('ghi', 345), ('jkl', 453)]

pri_gen = it.cycle(team)
sec_gen = it.cycle(team)
next(sec_gen) # remove the first abc and start with def

for pri, sec in zip(pri_gen, sec_gen):
    print(pri, sec)
    # wait until next monday

Upvotes: 1

Related Questions