玩蛇网本文是关于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 ret
timing(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 ret
def 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)
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/algorithm/a2589.html
相关文章 Recommend
文章浏览阅读2.3k次。1.文件上传到虚拟机的准备(1)安装FTP,连接虚拟机IP,上传包(推荐)(2)rz命令,XShell或CRT执行下载命令安装rz,便于往分布式文件系统上传安装包。yum install -y lrzsz2.安装依赖包glibcyum install glibc.i6863.创建文件夹并进入mkdir /hadoopcd /hadoop4.上传JDK安装包rz或FTP连接虚拟机..._[root@master ~]# tar -zxvf /root/opt/jdk-8u212-linux-x64.tar.gz tar (child):
文章浏览阅读10w+次,点赞111次,收藏685次。C/C++头文件一览C、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include //定义各种数_c++头文件
文章浏览阅读284次。也不能说:直接就启动一个线程,不然没办法发射出“服务器启动”这个事件。有时候,我们希望NettyServer启动时不能说卡主主线程。这时就可以使用此类执行完毕后,通知下主线程。总结:可以看出来,是单独的线程启动,但是可以控制住顺序了。
文章浏览阅读1.2w次。使用场景,有两个List>集合,第一个集合的所有元素都是需要保留的。第一个集合的值为:{name=张三丰1, id=1}{name=张三丰2, id=2}{name=张三丰3, id=3}{name=张三丰4, id=4}{name=张三丰5, id=5}{name=张三丰6, id=6}{name=张三丰7, id=7}{name=张三丰8, id=8}第二个集合的值为:{grade=61..._list stream 比较
文章浏览阅读846次。使用HTML5和JS实现五子棋游戏
文章浏览阅读5.3k次。首先贴出问题:解决思路如下图:
文章浏览阅读3.8k次,点赞4次,收藏27次。Matlab进行Lagrange多项式插值拉格朗日插值法对函数y=1./(1+25*x.^2)在区间[-1,1]进行5次、10次、15次插值观察龙格现象主程序1.拉格朗日function [c,l]=lagran(x,y)%c为多项式函数输出的系数%l为矩阵的系数多项式%x为横坐标上的坐标向量%y为纵坐标上的坐标向量w=length(x);n=w-1;l=zeros(w,w);for k=1:n+..._龙格现象图像matlab报告
文章浏览阅读1.4k次。如何画电商管理系统原型,一起来看吧。(资源可下载)_客户端原型
文章浏览阅读638次,点赞28次,收藏14次。但是如果是连接多个键的名字都不同的时候,(比如df1.key1 == df2.key2 , df1.key3 == df2.key4) 那么则最好先通过rename的函数对Dataframe进行改名,之后再merge。当使用cross的时候不需要指定on啥,因为会把左右连接的所有的可能都返回,并不在乎谁和谁相等。这个是merge中的参数,当设置为True的时候,意思是使用索引进行连接。其中merge是需要给键值的。join默认的是使用索引的值。how表示的是连接的方式,一般包含下面的参数,默认是左连接。
文章浏览阅读1.1k次,点赞17次,收藏9次。在所有的编程语言中,循环都是一个非常重要的语法,掌握循环,是程序员必不可少的能力。在Oracle中,常用的有四种循环,loop循环,while循环,for循环和goto循环_oracle存储过程for loop循环
文章浏览阅读676次,点赞18次,收藏23次。本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。
文章浏览阅读3.1k次,点赞7次,收藏47次。GD32系列总结 - VScode + keil开发环境搭建写在前面Keil Assistant插件安装与使用遇见的问题include波浪线警告中文备注乱码last line of file ends without a newline常用插件Chinese (Simplified) Language Pack for Visual Studio CodeBracket Pair ColorizerTabnine AI Code Completion写在前面来了新公司之后,由于这次遇见的单片机是GD32_gd32f405 vscode