如何生成前 n 个排列然后暂停并重新启动?
how to generate first n permutations then pause and restart?
简单的问题我有来自的代码:
from itertools import permutations
ListX=["A","B","C","(",")","#"]
perm_iterator = list(permutations(ListX))
print(list(perm_iterator))
如何暂停、恢复、停止、重新启动迭代?
如何查看以 100 为步长的迭代?
步长为 n?
您可以获得迭代器的无限循环副本,然后使用 cycle
和 itertools
中的 islice
从中获取 n
的块。
import itertools
n_chunks = 30
chunk_size = 100
l = ["A","B","C","(",")","#"]
perm_iterator = itertools.permutations(l)
loop_perms = itertools.cycle(perm_iterator)
for n in range(n_chunks):
print(list(itertools.islice(loop_perms, chunk_size)))
简单的问题我有来自
from itertools import permutations
ListX=["A","B","C","(",")","#"]
perm_iterator = list(permutations(ListX))
print(list(perm_iterator))
如何暂停、恢复、停止、重新启动迭代?
如何查看以 100 为步长的迭代?
步长为 n?
您可以获得迭代器的无限循环副本,然后使用 cycle
和 itertools
中的 islice
从中获取 n
的块。
import itertools
n_chunks = 30
chunk_size = 100
l = ["A","B","C","(",")","#"]
perm_iterator = itertools.permutations(l)
loop_perms = itertools.cycle(perm_iterator)
for n in range(n_chunks):
print(list(itertools.islice(loop_perms, chunk_size)))