使用itertools.cycle
以獲取下一個目錄下一個文件:
it = itertools.cycle(['D1', 'D2', 'D3'])
print next(it)
print next(it)
print next(it)
print next(it)
print next(it)
print next(it)
結果
D1
D2
D3
D1
D2
D3
it = itertools.cycle(['D1', 'D2', 'D3'])
for x in ['F1', 'F2', 'F3', 'F4' , 'F5', 'F6']:
print x, 'write in', next(it)
結果
F1 write in D1
F2 write in D2
F3 write in D3
F4 write in D1
F5 write in D2
F6 write in D3
編輯:作爲凱文說
dirs = ['D1', 'D2', 'D3']
files = ['F1', 'F2', 'F3', 'F4' , 'F5', 'F6']
for f,d in zip(files, itertools.cycle(dirs)):
print f, 'write in', d
結果
F1 write in D1
F2 write in D2
F3 write in D3
F4 write in D1
F5 write in D2
F6 write in D3
我從來沒有聽說過itertools,但我是哈斯克爾的巨大粉絲。多麼酷的圖書館。 – Dan
「循環」似乎是一個好主意。如果你的文件名是zip,目錄是zip(文件名,itertools.cycle(目錄)):'?那麼你不必手動做'下一個'。 – Kevin
@Kevin你是對的:) – furas