前言:
目前看官们对“python数字位数”大体比较关切,我们都想要知道一些“python数字位数”的相关资讯。那么小编同时在网络上汇集了一些关于“python数字位数””的相关资讯,希望咱们能喜欢,小伙伴们快快来学习一下吧!概述
今天主要分享一个python实例,大家有兴趣也可以做一下~
需求
有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
方法一:遍历全部可能,把有重复的剃掉。
total=0for i in range(1,5): for j in range(1,5): for k in range(1,5): if ((i!=j)and(j!=k)and(k!=i)): print(i,j,k) total+=1print(total)
方法二:用itertools中的permutations实现
import itertoolssum2=0a=[1,2,3,4]for i in itertools.permutations(a,3): print(i) sum2+=1print(sum2)
itertools库 combinations() 和 permutations() 组合 和 排列选项的方法
permutations()是返回可迭代对象的所有数学全排列方式,其中combinations方法重点在组合,permutations方法重在排列。
import itertoolss=[1,2,3]#combinations和permutations返回的是对象地址,原因是在python3里面,返回值已经不再是list,而是iterators(迭代器)#print list(itertools.combinations('abc', 2)) 会报错#组合print ('itertools.combinations组合输出:')print([x for x in itertools.combinations('abc',2)])#排列print ('itertools.permutations排列输出:')print([x for x in itertools.permutations(s,3)])
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
标签: #python数字位数