Я хотел бы перебрать все списки/кортежи длины n с элементами из -s ... s. В настоящее время я делаю это с:Как перебирать списки из середины
for k in itertools.product(range(-s,s+1), repeat = n):
#process k and maybe print out the result
Однако это не полезно для меня, поскольку есть огромное количество таких кортежей и мой код никогда не может завершиться. Я бы очень хотел начать сначала с самых интересных. В этом случае порядок я хотел бы для итерации:
- Все кортежи, которые содержат только 0 (есть только один)
- Все кортежи, которые содержат только 0, 1 и -1 за исключением тех кортежей мы имеем уже видел.
- Все кортежи, содержащие только 0, 1, -1, 2 и-2, исключая те кортежи, которые мы уже видели.
- И так далее ...
Как можно это сделать?
разделить его пополам, реверс первый и 'почтовый индекс()' их? Не уверен, что я понимаю, что именно вы ищете. – TigerhawkT3
@ TigerhawkT3 Я хотел бы перебирать списки в описанном мной порядке. Для каждого списка итерации я буду запускать некоторую функцию и иногда распечатывать результат. В целом код никогда не может завершиться, поэтому я хочу сделать их в правильном порядке. – Anush