Python生成0-9任意4位数字组合的方法,python生成0-94位,编橙之家本文是关于Pyt
Python生成0-9任意4位数字组合的方法,python生成0-94位,编橙之家本文是关于Pyt
编橙之家本文是关于Python生成0-9任意4位数字组合的方法示例。0-9个数字组成任意4位数字,有多少种排列组合的方式,要是用想的需要不少时间而且还容易出错。用python方法来解决这个问题显然简单得多。只需要一段代码,就可以轻松解决。Python生成四位不重复数字(0-9)的所有组合,要如何操作请往下看。
Python生成0-9任意4位数字组合的方法,Python源代码示例如下:(供参考)
def init_set8(r10=range(10)): """ 把循环内的range函数提到外面 times5.486 ==> 4.427 """ ret = [] for i in r10: for j in r10: for k in r10: for l in r10: if i != j and i != k and i != l and j != k and j != l and k != l: ret.append((i, j, k, l)) return rettiming(init_set8, 1000)def init_set9(r10=range(10)): """ for 循环改成列表推导 times5.486 ==>3.773 """ return [(i, j, k, l) for i in r10 for j in r10 for k in r10 for l in r10 if ( i != j and i != k and i != l and j != k and j != l and k != l) ]timing(init_set9, 1000)def init_set10(r10=range(10)): return ((i, j, k, l) for i in r10 for j in r10 for k in r10 for l in r10 if( i != j and i != k and i != l and j != k and j != l and k != l) )timing(init_set10, 1000)def init_set11(): """ 用代码的空间代价换取计算P4_4的时间 init_set11 1000 times 7.268 OMG reduce(lambda x,y:x+y,l)太慢了 """ c10_4=[( i, j, k, l ) for i in xrange(0, 10) for j in xrange(i+1, 10) for k in xrange(j+1, 10) for l in xrange(k+1, 10) ] ret=reduce(lambda x,y:x+y, [ [ (i, j, k, l), (i, j, l, k), (i, k, j, l), (i, k, l, j), (i, l, j, k), (i, l, k, j), (j, i, k, l), (j, i, l, k), (j, k, i, l), (j, k, l, i), (j, l, i, k), (j, l, k, i), (k, i, j, l), (k, i, l, j), (k, j, i, l), (k, j, l, i), (k, l, i, j), (k, l, j, i), (l, i, j, k), (l, i, k, j), (l, j, i, k), (l, j, k, i), (l, k, i, j), (l, k, j, i),] for i, j, k, l in c10_4 ], ) return retdef init_set12(): """ generator是伟大的发明,数据流编程万岁 init_set12 1000 times 1.758 www.iplaypy.com """ c10_4=(( i, j, k, l ) for i in xrange(0, 10) for j in xrange(i+1, 10) for k in xrange(j+1, 10) for l in xrange(k+1, 10) ) from itertools import chain ret=chain( *( ( (i, j, k, l), (i, j, l, k), (i, k, j, l), (i, k, l, j), (i, l, j, k), (i, l, k, j), (j, i, k, l), (j, i, l, k), (j, k, i, l), (j, k, l, i), (j, l, i, k), (j, l, k, i), (k, i, j, l), (k, i, l, j), (k, j, i, l), (k, j, l, i), (k, l, i, j), (k, l, j, i), (l, i, j, k), (l, i, k, j), (l, j, i, k), (l, j, k, i), (l, k, i, j), (l, k, j, i),) for i, j, k, l in c10_4 ) ) return list(ret)timing(init_set12, 1000)
Python算法相关文章推荐:
1、Python组合生成与数量计算的实现方法
2、Python常见排序算法实现与测速源码
编橙之家文章,
相关内容
- Python获取Windows窗口标题并输出的脚本方法,python窗口
- 指定地区天气预报查询的Python方法,地区天气预报pyt
- Python识别网站验证码的方法源码,,学习Python教程之前
- Python压缩文件为tar、gzip的方法,pythontar,Python文件操作
- Python 匹配手机电话号码及邮箱的正则表达式源码,py
- Python POP3协议收取邮件方法,pythonpop3协议收取,Python教程
- Python实现DES加密算法源码例详解,pythondes,本篇为大家提
- 批量下载google图片的Pytho方法源码,,Python教程学习,本
- Python socket方法查询whois协议脚本源码,whois脚本源码,
- Python免费SSH帐号获取器源码,pythonssh帐号源码,Python免费
评论关闭