3 回答

TA貢獻1872條經驗 獲得超4個贊
from itertools import cycle
pools = ['pool1', 'pool2']
children = ['child1', 'child2', 'child3']
c = cycle(pools)
for child in children:
? ? print('{} assigned to {}'.format(child, next(c)))
印刷:
child1 assigned to pool1
child2 assigned to pool2
child3 assigned to pool1

TA貢獻1833條經驗 獲得超4個贊
我認為它更具可讀性:
from itertools import cycle
pools = ['pool1', 'pool2']
children = ['child1', 'child2', 'child3']
for child, pool in zip(children, cycle(pools)):
? ? print(f'{child} assigned to {pool}')
輸出:
child1 assigned to pool1
child2 assigned to pool2
child3 assigned to pool1

TA貢獻1828條經驗 獲得超3個贊
你可以這樣做:
for elem in children:
if children.index(elem) % 2 == 0:
print(f"{elem} to {pools[0]}")
else:
print(f"{elem} to {pools[1]}")
考慮到你只有兩個池,如果他的索引是奇數,你可以將孩子分配給 pool1。
添加回答
舉報