fbpx

Перебор элементов списка

271 просмотра
0
0 Комментариев

Существует ли боллее рациональный способ перебрать все возможные списки из 5 элементов, которые взяты(элементы) из другого списка. Начальный список имеет немало элементов (от 100 до 300), поэтому мой способ очень медленный.

for i1 in lst[:-4]:
    for i2 in lst[lst.index(i1)+1:-3]:
        for i3 in lst[lst.index(i2)+1:-2]:
            for i4 in lst[lst.index(i3)+1:-1]:
                for i5 in lst[lst.index(i4)+1:]:
                    result.append([i1, i2, i3, i4, i5])


Добавить комментарий

1 Ответы

Python Опубликовано 19.01.2019
0

itertools.combinations(iterable, [r])комбинации длиной r из iterable без повторяющихся элементов.

>>> print list(itertools.combinations([1,2,3], 2))
[(1, 2), (1, 3), (2, 3)]

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up