Python - 军军小站|张军博客
Python

LeetCode 腾讯50题Python实现之《二叉树的最大深度》

题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最大深度3。思路BFS广度优先搜索,使用双端队列deque(因为性能比另外两种Queue好得多),在大循环内对二叉树的每个层做一次遍历,range(len(queue))使只遍历当前的层,每次大循环ans加1。由于每个节点仅访问一次,所以时间

系统 2019-09-27 17:56:23 1765

Python

跟老齐学Python之关于循环的小伎俩

不是说while就不用,比如前面所列举而得那个猜数字游戏,在业务逻辑上,用while就更容易理解(当然是限于那个游戏的业务需要而言)。另外,在某些情况下,for也不是简单地把对象中的元素遍历一遍,比如有有隔一个取一个的要求,等等。在编写代码的实践中,为了对付循环中的某些要求,需要用一些其它的函数,比如前面已经介绍过的range就是一个被看做循环中的计数器的好东西。range在《有容乃大的list(4)》中,专门对range()这个内置函数做了详细介绍,看官

系统 2019-09-27 17:55:50 1765

Python

python批量处理文件或文件夹

本文实例为大家分享了python批量处理文件或文件夹的具体代码,供大家参考,具体内容如下#-*-coding:utf-8-*-importos,shutilimportsysimportnumpyasnp##########批量删除不同文件夹下的同名文件夹#############defarrange_file(dir_path0):fordirpath,dirnames,filenamesinos.walk(dir_path0):if'my_result

系统 2019-09-27 17:55:50 1765

Python

让你的 Python 代码优雅又地道

译序如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。——EdsgerWybeDijkstra在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。而且Python社区十分注重编码风格一的一致性,他们极力

系统 2019-09-27 17:55:36 1765

Python

Python函数参数匹配模型通用规则keyword-only参数

概述Python3对函数参数的排序规则更加通用化了,即Python3keyword-only参数,该参数即为必须只按照关键字传递而不会有一个位置参数来填充的参数。该规则在处理人一多个参数是很有用的。keyword-onlykword_only(1,2,3,c=4)print('-'*20)kword_only(a=1,c=3)示例结果:1(2,3)4--------------------1()3在*args之后的参数都需要在调用中使用关键字的方式传递,否

系统 2019-09-27 17:54:57 1765

Python

python多线程并发实例及其优化

单线程执行python的内置模块提供了两个内置模块:thread和threading,thread是源生模块,threading是扩展模块,在thread的基础上进行了封装及改进。所以只需要使用threading这个模块就能完成并发的测试实例创建并启动一个单线程importthreadingdefmyTestFunc():print("我是一个函数")t=threading.Thread(target=myTestFunc)#创建一个线程t.start()

系统 2019-09-27 17:54:54 1765

Python

Python 经典算法100及解析

1:找出字符串s="aaabbbccceeefff111144444"中,字符出现次数最多的字符(1)考虑去重,首先将字符串进行过滤去重,这样在根据这些字符进行循环查询时,将会减少循环次数,提升效率。但是本人写的代码较为臃肿,有更好的希望留言评论str='a1fsfs111bbbcccccvvvvvnnnnboooooosssnb'classCountvalue():defcountvalue(self,str1):'''利用set自身的去重功能:para

系统 2019-09-27 17:54:52 1765

Python

老生常谈Python序列化和反序列化

通过将对象序列化可以将其存储在变量或者文件中,可以保存当时对象的状态,实现其生命周期的延长。并且需要时可以再次将这个对象读取出来。Python中有几个常用模块可实现这一功能。pickle模块存储在变量中dumps(obj)返回存入的字节dic={'age':23,'job':'student'}byte_data=pickle.dumps(dic)#out->b'\x80\x03}q\x00(X\x03\x00\x00\...'print(byte_dat

系统 2019-09-27 17:54:49 1765

Python

自学Python编程的第六天(最后代码有更好的请告诉我

2019-09-16-23:09:06自学Python的第六天,也是写博客的第六天今天学的内容是有关dict字典的用法看视频加上练习,目前还没遇到有难点,但是感觉很不好的样子没有难点以后突然出现一个有关字典的程序感觉要炸,还是得继续掌握看最后的代码吧,有更好的请告诉我======我======是=====一======条======快======乐======的======分======割======线======一.重要知识点1.dict用大括号{}括起

系统 2019-09-27 17:54:44 1765

Python

Python 监测文件是否更新的方法

主要逻辑是判断文件的最后修改时间与创建时间是否在秒级别上一致,此代码适用于Python2.importtimeimportos#ReadfimenameFileName='D:/scapegoat/xx.csv'#printfilecreationtimeprinttime.strftime('%Y-%m-%d%H:%M:%S',time.localtime(os.stat(FileName).st_ctime))#printfilemodifiedtim

系统 2019-09-27 17:54:41 1765

Python

python 中random模块的常用方法总结

python中random的常用方法总结一、random常用模块1.random.random()随机生成一个小数print(random.random())#输出0.60605621179967842.random.randint(m,n)随机生成一个m到n的整数(包括n)print(random.randint(1,5))#输出53.random.randrange(m,n)随机生成m到n中的一个数,包括m但是不包括nprint(random.rand

系统 2019-09-27 17:54:35 1765

Python

Python 字符串、列表、元组的截取与切片操作示例

本文实例讲述了Python字符串、列表、元组的截取与切片操作。分享给大家供大家参考,具体如下:demo.py(字符串、列表、元组的截取):#切片(截取)[开始索引:结束索引:步长]步长默认为1结束索引默认截取到末尾#字符串的截取print("012345"[1:3])#12#列表的截取print([0,1,2,3,4,5][1:3])#[1,2]#元组的截取print((0,1,2,3,4,5)[1:3])#(1,2)#字典的元素是无序的,没有索引,所以不

系统 2019-09-27 17:54:29 1765

Python

python中数组和矩阵乘法及使用总结(推荐)

Matrix是Array的一个小的分支,包含于Array。所以matrix拥有array的所有特性。但在数组乘和矩阵乘时,两者各有不同,如果a和b是两个matrices,那么a*b,就是矩阵积如果a,b是数组的话,则a*b是数组的运算1.对数组的操作>>>importnumpyasnp>>>a=np.array([[1,2,3],[4,5,6],[7,8,9]])>>>aarray([[1,2,3],[4,5,6],[7,8,9]])>>>b=a.copy

系统 2019-09-27 17:54:15 1765

Python

python基础 filter ,列表,字典,集合 中根据 条件 筛选 数据

fromrandomimportrandintdata=[randint(-10,10)for_inxrange(10)]printdatae=filter(lambdax:x>=0,data)printe或者使用列表解析速度快[xforxindataifx>=0]对字典的筛选d={x:randint(60,100)forxinxrange(1,21)}printdprint{k:vfork,vind.iteritems()ifv>90}对集合的筛选找出被

系统 2019-09-27 17:54:14 1765

Python

python从入门到进阶整理书单推荐(近100本)

点击查看:程序员的闲置书籍该怎么处理,进来讨论下关注“资料在线”微信公众号,获取近百本python中英文电子书Python非常灵活,让实验变得容易。解决简单问题的方法简单而优雅。Python为新手程序员提供了一个很好的实验室。Python具有一些特征,使其成为第一种编程语言的接近完美的选择。Python基本结构简单、干净、设计精良,使学生能够专注于算法思维和程序设计的主要技能,而不会陷入晦涩难解的语言细节。在Python中学习的概念可以直接传递给后续学习的

系统 2019-09-27 17:54:08 1765