Python

python 排列 组合

排列defperm(arr,stack):ifnotarr:print(stack)#到树的最后,输出结果tmp=stack.copy()res.append(tmp)else:#没有到树的叶子节点的时候,使用递归继续往下找。foriinrange(len(arr)):stack.append(arr[i])delarr[i]perm(arr,stack)arr.insert(i,stack.pop())arr=[1,2,3]stack=[]res=[]p

系统 2019-09-27 17:50:13 2167

Python

python3.6生成器yield用法实例分析

本文实例讲述了python3.6生成器yield用法。分享给大家供大家参考,具体如下:今天看源码的时候看到了一个比较有意思的函数:yield功能与return类似,都是返回定义的函数的一个结果,不同的是return返回后这次调用函数就结束了,除了返回值,其余临时变量都会被清除。而yield会停止在当前步,并保留其余变量的值,等下次调用该函数时,从yield的下一步继续往下运行。yield的好处是如果函数需要很大的内存,比方说需要计算并返回一个很大的数列,如

系统 2019-09-27 17:49:49 2167

Python

Python 文件操作

https://www.runoob.com/python3/python3-file-methods.htmlfile()函数用于创建一个file对象,它有一个别名叫open()1.文件打开open()函数open(file,mode=‘r’,buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)file:必需,文件路径(相对或者绝对路径)。写入模式下,若

系统 2019-09-27 17:49:45 2167

Python

python is 和 ==区别

s与==区别:is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等。aisb相当于id(a)==id(b),id()能够获取对象的内存地址。如果a=10;b=a;则此时a和b的内存地址一样的;但当a=[1,2,3];另b=a[:]时,虽然a和b的值一样,但内存地址不一样。如果此时定义a=10、b=10,然后再对比aisb会发现返回的结果是True,这是因为在Python中会实现创建一个小型的整形池,范围为[-5,256],为这些整形开

系统 2019-09-27 17:49:44 2167

Python

python学习笔记之hashlib

#登录认证#加密-->解密#摘要算法#两个字符串:#importhashlib#提供摘要算法的模块md5=hashlib.md5()md5.update(b'123456')print(md5.hexdigest())#aee949757a2e698417463d47acac93df#不管算法多么不同,摘要的功能始终不变#对于相同的字符串使用同一个算法进行摘要,得到的值总是不变的#使用不同算法对相同的字符串进行摘要,得到的值应该不同#不管使用什么算法,ha

系统 2019-09-27 17:49:08 2167

Python

Python及一些库的小知识点汇总

Python基础a[::-1]:翻转列表解释:a[i:j:s],当s<0时,i缺省时,默认为-1.j缺省时,默认为-len(a)-1所以a[::-1]相当于a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。所以你看到的是倒序输出。numpy相关newaxisnp.newaxis在使用和功能上等价于None,可以看作是None的一个别名可以理解为新增了一个所有值都为空的维度。从上图可以看出,newaxis给x新增了一个Y-axi

系统 2019-09-27 17:48:48 2167

Python

python制作简单五子棋游戏

本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下#五子棋‘''矩阵做棋盘16*16“+”打印棋盘forfor游戏是否结束开始下棋while游戏是否结束:黑白交替player=0p%2==0==1p+=1下棋动作一样但是棋子不一样‘''代码#创建棋盘的程序definitBoard():globalboard#调用全局的boardboard=[None]*16foriinrange(len(board)):board[i]=["+

系统 2019-09-27 17:48:39 2167

Python

python多协程爬虫示例

写python协程时使用gevent模块和queue模块可以大大提高爬虫速度。在同时爬取多个网站时,原来用for循环一个网站一个网站按循序顺序爬,就像先烧饭后烧菜,两个步骤异步进行。使用多协程可以让爬虫自己选择爬取顺序,就像边烧饭边烧菜,两个步骤同步进行,速度自然快了。不多说了,来看下代码吧:fromgeventimportmonkeymonkey.patch_all()#打上多协程布丁,下面的程序就可以执行多协程了importrequests,geven

系统 2019-09-27 17:47:59 2167

Python

python中list循环语句用法实例

本文实例讲述了python中list循环语句用法。分享给大家供大家参考。具体用法分析如下:Python的强大特性之一就是其对list的解析,它提供一种紧凑的方法,可以通过对list中的每个元素应用一个函数,从而将一个list映射为另一个list。实例复制代码代码如下:a=['cat','window','defenestrate']forxina:printx,len(x)forxin[1,2,3]:printx,#iterationLoopthrough

系统 2019-09-27 17:47:32 2167

Python

Python 数据类型--list&tuple&dict&set

一、列表(list)列表(list)是python以及其他语言中最常用到的数据结构之一。Python使用中括号[]来解析列表。列表是可变的(mutable)——可以改变列表的内容。列表是Python的序列类型之一,也支持索引、切片等操作。1.1列表的定义1list1=['Google','Runoob',1997,2000]2list2=[1,2,3,4,5]3list3=["a","b","c","d"]与字符串的索引一样,列表索引从0开始。列表可以进行

系统 2019-09-27 17:47:30 2167

Python

Python字符串处理之count()方法的使用

count()方法返回出现在范围内串子数range[start,end]。可选参数的start和end都解释为片符号。语法以下是count()方法的语法:str.count(sub,start=0,end=len(string))参数sub--这是子串用来进行搜索。start--搜索从这一索引。第一个字符从0开始的索引。默认情况下搜索从0开始的索引。end--搜索从该索引结束。第一个字符从0开始的索引。默认情况下搜索结束的最后一个索引。返回值此方法返回集中

系统 2019-09-27 17:47:22 2167

Python

Python contextlib模块使用示例

看这个模块要先看withas的用法,最常用的方法就是打开一个文件:复制代码代码如下:withopen(“filename”)asf:f.read()with可以调用一个上下文管理器,产生运行时的上下文环境。上下文管理器主要定义两个方法,__enter__,__exit__。__enter__返回上下文里操作的对象,如f。__exit__是销毁对象和异常处理。contextlib模块对外有三个接口,contextmanager装饰器,装饰的函数必须是一个生成

系统 2019-09-27 17:47:16 2167

Python

用Python实现斐波那契(Fibonacci)函数

Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。最近在玩Python,在粗略的看了一下LearningPython和CorePython之后,偶然发现网上有个帖子Python程序员的进化写的很有意思。于是打算仿照一篇,那篇帖子用了十余种方法完成一个阶乘函数,我在这里会用九种不同的风格写出一个Fibonacci函数。要求很简单,输入n,输出第n个Fibonacci数,n为正整数下面是这九种不同的风格:1)第一次写程序

系统 2019-09-27 17:46:31 2167

Python

python-cookbook

PYTHON-COOKBOOK文章目录PYTHON-COOKBOOK一:数据结构和算法1、Heapq取出最大或最小的几个元素优先级队列2、字典多值字典字典排序字典列表排序字典共同点和不同点3、collections保留最后几个元素频率统计命名元组字典(映射)联合查找4、其他解压赋值去重且保持顺序切片分组一:数据结构和算法三个基本的写法:列表生成式字典生成式迭代器生成式1、Heapq取出最大或最小的几个元素#最大或者最小的n个元素importrandomfr

系统 2019-09-27 17:46:19 2167

Python

python with statement 进行文件操作指南

由于之前有一个项目老是要打开文件,然后用pickle.load(file),再处理。。。最后要关闭文件,所以觉得有点繁琐,代码也不简洁。所以向pythonwithstatement寻求解决方法。在网上看到一篇文章:http://effbot.org/zone/python-with-statement.htm是介绍with的,参考着例子进行了理解。如果经常有这么一些代码段的话,可以用一下几种方法改进:代码段:setthinguptry:dosomethin

系统 2019-09-27 17:46:17 2167