import itertools 排列: 4个数内选2个 >>> print list(itertools.permutations([1,2,3,4],2)) [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] 组合:4个数内选2个: >>> print list(itertools.combinations([1,2,3,4],2)) [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)] _____________________________________ ABCDE 5个数的排列(去掉重复): >>>len(set(list(itertools.permutations(['A','B','C','D','E'],5)))) 120 AABCD 5个数不同的排列(去掉重复): >>>len(set(list(itertools.permutations(['A','A','B','C','D'],5)))) 60 AABBC(去掉重复): >>> len(set(list(itertools.permutations(['A','A','B','B','C'],5)))) 30 AAABC(去掉重复): >>> len(set(list(itertools.permutations(['A','A','A','B','C'],5)))) 20 AAABB(去掉重复): >>> len(set(list(itertools.permutations(['A','A','A','B','B'],5)))) 10 AAAAB(去掉重复): >>> len(set(list(itertools.permutations(['A','A','A','A','B'],5)))) 5