龙空技术网

python每日一练之数字组合

波波说运维 660

前言:

目前看官们对“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数字位数