2016-03-27 2 views
1

Следующая программа создает URL-адрес из списка, используя itertools.permutations.Неупорядоченная версия itertools.permutations

def url_construct_function(): 
    for i in range(1, len(samplelist)): 
     for item in list(permutations(samplelist, i)): 
  1. Предположим, что существует 3 пункты, представленные в списке выборки: a, b, c
  2. itertools.permutations обеспечивает хорошее описание вокруг различных возможных упорядоченных комбинаций
    • с
    • б
    • c
    • а, б
    • а, с
    • б, в
    • Ь, с
    • С,
    • с, б

Я хочу, чтобы программа понять что a,b и b,a - это то же самое.

+3

'itertools.combinations' вместо' перестановок' может быть ... – schwobaseggl

+0

@schwobaseggl, который выглядит как annwer –

+0

Phew, Спасибо большое! @schwobaseggl, я схожу с ума :) – Revanth

ответ

1

itertools.combinations работает как itertools.permutations и делает то, что вы ищете (и то, что следует из названия)

from itertools import combinations 
... 
    for item in list(combinations(samplelist, i)): 
    ... 
a 
b 
c 
a, b 
a, c 
b, c 

как в комбинациях, в отличие от перестановок, порядок не имеет значения. Все аккуратно покрыты в docs.

Смежные вопросы