4
from itertools import product
teams = ['india', 'australia', 'new zealand']
word_and = ['and']
tmp = '%s %s %s'
items = [teams, word_and, teams]
print(list(tmp % a for a in list(product(*items))))
гравюр:Itertools продукт без повторяющихся дублей
['india and india',
'india and australia',
'india and new zealand',
'australia and india',
'australia and australia',
'australia and new zealand',
'new zealand and india',
'new zealand and australia',
'new zealand and new zealand']
Как:
- избежать такое же имя, повторив в одном предложении (Индия и Индия)
- генерировать только один комбинации (либо в Индии, либо в Австралии, Австралии и Индии)
http://pythonfiddle.com/product-without-matching-duplicates
спасибо за ответ, позвольте мне попробовать это .. – emaillenin
который будет быстрее? комбинация или перечисление? – emaillenin
@emaillenin Итак, я провел простой [тест времени] (http://ideone.com/oV7kTb), и он подтверждает, что 'комбинация' выполняется быстрее, с вашим образцом данных. – thefourtheye