使用枚举循环遍历多个列表?

我目前正在将列表中的每个人分配到本月的特定周。这是全年完成的。


import itertools

import datetime


today = datetime.date.today()

today_str = str(today)

year,month,date = today_str.split('-')

# convert week of the year to a number

current_week = (datetime.date(int(year), int(month), int(date)).isocalendar()[1])


name_list1 = ["Kacey", "Cindy", "John"]


for num, item in enumerate(itertools.cycle(name_list1), 7):

    if num >= current_week:

        print(item)

        break

以上将找到第 7 周跌倒的人.... Kacey


1. Kacey

2. Cindy

3. John

4. Kacey

5. Cindy

6. John

7. Kacey

如何使用 2 个名称列表执行此操作?那么 list1 中的每个名字都会被分配一周,而 list2 中的每个名字都会被分配一周?它们完全相互独立。如果可能的话,我想在一个 for 循环中执行此操作。


name_list1 = ["Kacey", "Cindy", "John"]

name_list2 = ["Bob", "Julie", "Brian"]

在 list2 中,Bob 将是 #7。


1. Bob

2. Julie

3. Brian

4. Bob

5. Julie

6. Brian

7. Bob

我可以为每个列表创建一个 for 循环,但是在处理多个列表时会变得相当难看。


一只甜甜圈
浏览 84回答 1
1回答

人到中年有点甜

我能够压缩它:for num, (item1, item2) in enumerate(itertools.cycle(zip(name_list1, name_list2)), 7):    if num >= current_week:        print(item1 + " " + item2)        break
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python