Довольно просто ...
from itertools import permutations
with open('List.txt') as f:
letters = (l.strip() for l in f if l.strip())
for p in permutations(letters, 2):
print ''.join(p)
Выход:
ab
ac
ad
ba
bc
bd
ca
cb
cd
da
db
dc
Некоторые заметки:
Оператор with
гарантирует, что файл будет закрыт, когда вы закончите с ним.
letters
- это генераторное выражение, которое во многих случаях (но не в этом) избавит вас от необходимости читать весь файл сразу.
Использование l.strip()
предназначено для удобной обработки случайных пустых строк, если они присутствуют на входе.
itertools.permutations
правильно, НЕ itertools.combinations
, который учитывает ab
== ba
и не будет включать последнее в качестве вывода.
Счастливого питона:)