Python: все возможные комбинации элементов списка Set

Проблема заключается в том, что при добавлении параметра в функцию DOMDocument :: saveHTML () вы теряете кодировку. В некоторых случаях вам нужно избегать использования параметра и использовать функцию старой строки, чтобы найти то, что вы ищете.

Я думаю, что предыдущий ответ работает на вас, но поскольку это обходное решение Я работаю для меня, я добавляю этот ответ, чтобы помочь ppl, который может быть в моем случае.

-1
задан lepiloff 13 July 2018 в 06:07
поделиться

2 ответа

from itertools import combinations
from pprint import pprint
pprint([''.join(map('age'.__add__, a)) for i in range(2, len(ages) + 1) for a in combinations(ages, i)])

Эти выходы:

['age45-64age65+',
 'age45-64age35-44',
 'age45-64age18-24',
 'age45-64age13-17',
 'age45-64age25-34',
 'age65+age35-44',
 'age65+age18-24',
 'age65+age13-17',
 'age65+age25-34',
 'age35-44age18-24',
 'age35-44age13-17',
 'age35-44age25-34',
 'age18-24age13-17',
 'age18-24age25-34',
 'age13-17age25-34',
 'age45-64age65+age35-44',
 'age45-64age65+age18-24',
 'age45-64age65+age13-17',
 'age45-64age65+age25-34',
 'age45-64age35-44age18-24',
 'age45-64age35-44age13-17',
 'age45-64age35-44age25-34',
 'age45-64age18-24age13-17',
 'age45-64age18-24age25-34',
 'age45-64age13-17age25-34',
 'age65+age35-44age18-24',
 'age65+age35-44age13-17',
 'age65+age35-44age25-34',
 'age65+age18-24age13-17',
 'age65+age18-24age25-34',
 'age65+age13-17age25-34',
 'age35-44age18-24age13-17',
 'age35-44age18-24age25-34',
 'age35-44age13-17age25-34',
 'age18-24age13-17age25-34',
 'age45-64age65+age35-44age18-24',
 'age45-64age65+age35-44age13-17',
 'age45-64age65+age35-44age25-34',
 'age45-64age65+age18-24age13-17',
 'age45-64age65+age18-24age25-34',
 'age45-64age65+age13-17age25-34',
 'age45-64age35-44age18-24age13-17',
 'age45-64age35-44age18-24age25-34',
 'age45-64age35-44age13-17age25-34',
 'age45-64age18-24age13-17age25-34',
 'age65+age35-44age18-24age13-17',
 'age65+age35-44age18-24age25-34',
 'age65+age35-44age13-17age25-34',
 'age65+age18-24age13-17age25-34',
 'age35-44age18-24age13-17age25-34',
 'age45-64age65+age35-44age18-24age13-17',
 'age45-64age65+age35-44age18-24age25-34',
 'age45-64age65+age35-44age13-17age25-34',
 'age45-64age65+age18-24age13-17age25-34',
 'age45-64age35-44age18-24age13-17age25-34',
 'age65+age35-44age18-24age13-17age25-34',
 'age45-64age65+age35-44age18-24age13-17age25-34']
3
ответ дан blhsing 17 August 2018 в 13:37
поделиться

Вы можете комбинировать itertools.combinations и itertools.product, чтобы сделать это

from itertools import combinations, chain
l = ages.keys()
l2 = list(chain(*[['age'.join(('',)+c) for c in combinations(l,i)] for i in range(2, len(l))]))

from pprint import pprint
pprint(l2)

Выход

['age45-64age65+',
 'age45-64age35-44',
 'age45-64age18-24',
 'age45-64age13-17',
 'age45-64age25-34',
 'age65+age35-44',
 'age65+age18-24',
 'age65+age13-17',
 'age65+age25-34',
 'age35-44age18-24',
 'age35-44age13-17',
 'age35-44age25-34',
 'age18-24age13-17',
 'age18-24age25-34',
 'age13-17age25-34',
 'age45-64age65+age35-44',
 'age45-64age65+age18-24',
 'age45-64age65+age13-17',
 'age45-64age65+age25-34',
 'age45-64age35-44age18-24',
 'age45-64age35-44age13-17',
 'age45-64age35-44age25-34',
 'age45-64age18-24age13-17',
 'age45-64age18-24age25-34',
 'age45-64age13-17age25-34',
 'age65+age35-44age18-24',
 'age65+age35-44age13-17',
 'age65+age35-44age25-34',
 'age65+age18-24age13-17',
 'age65+age18-24age25-34',
 'age65+age13-17age25-34',
 'age35-44age18-24age13-17',
 'age35-44age18-24age25-34',
 'age35-44age13-17age25-34',
 'age18-24age13-17age25-34',
 'age45-64age65+age35-44age18-24',
 'age45-64age65+age35-44age13-17',
 'age45-64age65+age35-44age25-34',
 'age45-64age65+age18-24age13-17',
 'age45-64age65+age18-24age25-34',
 'age45-64age65+age13-17age25-34',
 'age45-64age35-44age18-24age13-17',
 'age45-64age35-44age18-24age25-34',
 'age45-64age35-44age13-17age25-34',
 'age45-64age18-24age13-17age25-34',
 'age65+age35-44age18-24age13-17',
 'age65+age35-44age18-24age25-34',
 'age65+age35-44age13-17age25-34',
 'age65+age18-24age13-17age25-34',
 'age35-44age18-24age13-17age25-34',
 'age45-64age65+age35-44age18-24age13-17',
 'age45-64age65+age35-44age18-24age25-34',
 'age45-64age65+age35-44age13-17age25-34',
 'age45-64age65+age18-24age13-17age25-34',
 'age45-64age35-44age18-24age13-17age25-34',
 'age65+age35-44age18-24age13-17age25-34']
2
ответ дан Sunitha 17 August 2018 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: