题目:1、2、3、4这四个数字可以组成多少位无重复数字的三位数?分别是什么?
1、传统解法:
n=[]
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and i!=k and j!=k:
n.append(str(i)+str(j)+str(k))
print(n)
print(len(n))
2、使用itertools的permutations函数:
from itertools import permutations
n=[]
for i in permutations('1234',3):
n.append(''.join(i))
print(n)
print('可组成{}个三位数'.format(len(n)))
相比嵌套多个for循环且定义3个变量的解法,使用迭代函数核心代码只有2行,内存占用更小、运行速度更快