我目前正在将列表中的每个人分配到每月的特定星期。全年完成。
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周的人。...凯西
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"]
在清单2中,鲍勃将是#7。
1. Bob
2. Julie
3. Brian
4. Bob
5. Julie
6. Brian
7. Bob
我可以为每个列表创建一个for循环,但是当处理多个列表时,它将变得非常难看。
我能够压缩它:
for num, (item1, item2) in enumerate(itertools.cycle(zip(name_list1, name_list2)), 7):
if num >= current_week:
print(item1 + " " + item2)
break