У меня есть список, скажем, x=[1,2,3,4,5] и я хочу посмотреть на разные перестановки этого списка, взятые по два числа за раз.
x=[1,2,3,4,5]
from itertools import permutations
y=list(i for i in permutations(x,2) if i[0]<i[1])
print(y)
вывод: [(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]
Но я также хочу, чтобы на выходе было [(1,1),(2,2),(3,3),(4,4),(5,5)]. Как это исправить?
list(<genexpr>). Просто используйте понимание списка (заменитеlist(...)на[...]). - person Martijn Pieters   schedule 05.11.2017y.extend([(i,i) for i in x]). - person Miraj50   schedule 05.11.2017x? - person Martijn Pieters   schedule 05.11.2017list(i for i in itertools.combinations_with_replacement(x,2) if i[0]<=i[1])- person Jean-François Fabre   schedule 05.11.2017if; для возрастающей серииxдругих кортежей не будет. - person Martijn Pieters   schedule 05.11.2017