有四个数能组成多少个互不相同且无重复数字的三位数,各是多少,用python解答

有四个数1 2 3 4能组成多少个互不相同且无重复数字的三位数,各是多少,用python解答

res = set()

for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j!=k!=i:
                res.add(i*100+j*10+k)

print(len(res))
print(res)

可以用内置函数完成吗?

from itertools import permutations
a = [1,2,3,4]
b = [str(i[0])+str(i[1])+str(i[2]) for i in permutations(a,3)]
print(len(b))
print(b)

结果:

24
['123', '124', '132', '134', '142', '143', '213', '214', '231', '234', '241', '243', '312', '314', '321', '324', '341', '342', '412', '413', '421', '423', '431', '432']