I know that I can use itertools.permutation to get all permutation of size r. But, for itertools.permutation([1,2,3,4],3) it will return (1,2,3) as
itertools.permutation([1,2,3,4],3)
(1,2,3)
You need itertools.combinations(). And to get a regular list, just use list() factory function.
itertools.combinations()
list()
>>> from itertools import combinations >>> list(combinations([1, 2, 3, 4], 3)) [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]