python
William_Tao(攻城狮)
学无止境,学有所成,学有所获,不断努力
展开
-
dict' object has no attribute 'has_key'
今天在写字典时候遇到,代码如下d = {'a': 1, 'b': 2}d.has_key('a')我本意是想检测字典中是否存在该键,发现它居然报错于是我查了一些这个用法是python2当中才有的,python3以及没有了,可以用d = {'a': 1, 'b': 2}print('a' in d)来进行查询...原创 2020-02-18 15:48:08 · 328 阅读 · 0 评论 -
python基础(列表中内置的函数)
append()append追加,在列表的最后面追加元素b=['h','e','l','l','o']b.append('p')print(b)#['h', 'e', 'l', 'l', 'o', 'p']extend()如果想要加入另一个列表,就会使用该方法b=['h','e','l','l','o']a=list('HELLO')b.extend(a)print(b)#...原创 2020-02-16 14:57:41 · 339 阅读 · 0 评论 -
python基础(序列)+字符串+格式化
序列序列包含:字符串,元组,列表可以进行的操作索引和切片s='hello'print(s[0])#hprint(s[1:3])#elprint(s[:])#helloprint(s[-5:0])#helloprint(s[-5:-1])#hello序列共同支持的函数s1="abc"s2="abd"s3="das"s4=[1,2,3]print(len(s1))#...原创 2020-02-16 13:59:01 · 445 阅读 · 0 评论 -
python基础
复数在数学当中我们学到过复数以及共轭复数,比如2+3j;2是实部,3是虚部那么2-3j就是共轭复数话不多说直接上代码代码x=0.67+6.8e4jprint(x.real)#求实部print(x.imag)#求虚部print(x.conjugate())#求共轭复数divmod(n1,n2)方法该方法可以返回n1//n,n%2的结果,比如说divmod(5,3)会返回1,和2...原创 2020-02-15 21:08:25 · 451 阅读 · 0 评论 -
基于python库中的matplotlib模块绘制折线图
详情参考Python可视化库Matplotlib绘图入门详解python即学即用今天上午看了这本书的第一章,书中说到了如何用matplotlib来绘制图片,这里就把我按照书本写的代码,敲了一遍,并且浅谈我对于此知识点的理解话不多说,上代码import matplotlib.pyplot as pltimport matplotlib as mplplt.plot([-2,2,3,4,...原创 2020-02-15 13:22:19 · 807 阅读 · 0 评论 -
python实现选择排序
python实现选择排序选择排序:实现原理:我们以 【 54 226 93 17 77 31 44 55 20】为例子【54 226 93 17 77 31 44 55 20】那么首先我们认为第一个元素为最小元素,然后从列表中找到最小元素,并与第一个元素替换,【54 226 93 17 77 31 44 55 20】【17 ,226, 93 ,54 ,77 ,31, 44, 55...原创 2019-08-11 11:07:12 · 329 阅读 · 0 评论 -
python实现插入排序
python实现插入排序插入排序:分析:我们假设第一个元素作为有序的一个序列,然后我们拿后面的元素与其有序序列进行对比,如果后者比前者小,那么我们就把元素插入到有序序列当中,以[54,26,93,17,77,31,44,55,20]为例子。【54】作为有序序列,26比54小,那么插入到序列当中并且称为另一个有序序列【26,54】,然后比较93与有序序列当中的54比较,【26,54,93...原创 2019-08-11 21:32:41 · 578 阅读 · 0 评论 -
python实现归并排序
python实现归并排序归并排序:思路分析:(1)归并排序就是先进行分解操作,再进行合并操作(2)当分解到最小以后,就进行合并,合并的同时比较两两数组之间的大小将其排序好(3)这样的分解时需要用递归来实现的。(4)如果排序元素是奇数个,辣么对于最后一个数字的处理。代码实现:def merge_sort(alist): """归并排序""" n=len(alist)...原创 2019-08-15 17:05:48 · 380 阅读 · 0 评论 -
python实现希尔排序
python实现希尔排序希尔排序:实现分析:实际上希尔排序就是对插入排序的一种改进而已,希尔排序是将整个列表当成一个无序序列,并将其分成多个无序序列来进行插入排序,而实现分成多个序列就是需要一个gap步长来实现,对于普通的插入排序gap就是等于1。我们还是以 __[54,26,93,17,77,31,44,55,20]__为例子。为了分析,我们假设gap先等于2,图一是我们未划分之...原创 2019-08-12 10:48:12 · 417 阅读 · 0 评论 -
python实现快速排序
python实现快速排序快速排序定义:过程分析:我们还是用为例子,__[54,26,93,17,77,31,44,55,20]__为例子:依据:根据快速排序原理知道,先找到一个元素,然后划分成左边比规定元素小,右边比规定元素大的目的首先low指向第一个元素,high指向最后一个元素,我们先以54(alist[0])为划分元素(1)首先我们判断high指针指向的元素,20比54要小所...原创 2019-08-13 10:42:37 · 305 阅读 · 0 评论 -
python实现冒泡排序
python实现冒泡排序冒泡排序(从小到大排序):冒泡排序的思路为拿第一个数与后面的数一一对比,如果前一个数比后一个数大那么将位置互换,这一经过一次可以使得最大的元素置于最后如图排序数为:54 26 93 17 77 31 44 55 20如图所示,经过一次排序以后93跑到了最后一个位置,经过八次这样的循环便可得到排序后的数字def BubleSort(alist): n=len(a...原创 2019-08-10 23:26:17 · 339 阅读 · 0 评论 -
pyton实现二分查找
pyton实现二分查找搜索:二分查找:递归代码:def binary_search(alist,item): """二分查找""" low=0 n=len(alist) if n>0:#递归终止条件 mid=n//2 if item==alist[mid]: return True ...原创 2019-08-14 21:34:16 · 436 阅读 · 0 评论 -
补充:python实现二叉树里面求叶子节点的算法
python实现二叉树里面求叶子节点的算法叶子节点概念:一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。 叶子是指度为0的结点,又称为终端结点。图形:这个二叉树有五个叶子节点,分别为7,8,9,5,6.实现: def leaf(self,root): if root==None: return 0 #当二叉树为空时直接返...原创 2019-08-07 17:01:07 · 4700 阅读 · 0 评论 -
Python3解决回文数问题
Python3解决回文数问题一、回文数的概念回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如:121 ,abcdedcba,123321等都是回文数第一种解法:思路:(1)首先我们要考虑负数(如-121),倒序则是121- 显然与正序不等所以负数很明显不是回文数,要单独进行考虑(2)像XX0这样的数也一定不是回文数,因为最高位不能为0(除了0本身)(3)其余的我...原创 2019-07-23 21:59:00 · 1433 阅读 · 0 评论 -
合并两个有序链表
合并两个有序链表题目概述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4代码 class ListNode: def __init__(self, x): self.val =...原创 2019-07-24 17:20:23 · 394 阅读 · 0 评论 -
python3实现链表的基础操作
python3实现链表的基础操作实现的步骤:一、建立链表模型二、遍 历 链 表三、获取链表长度四、追 加 节 点五、插 入 操 作六、主 调 函 数分析:(1)建立链表模型:首先我们节点的概念如图中的单个方块(代码实现):class linkNode(): """ 链表节点类 """ def __init__(s...原创 2019-07-20 23:17:28 · 7765 阅读 · 0 评论 -
罗马数字转整数
罗马数字转整数罗马数字的概念:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,...原创 2019-07-25 11:29:36 · 291 阅读 · 0 评论 -
python实现二叉树
python实现二叉树二叉树的简介实现的方法实现的代码class Node(object): def __init__(self,item): self.item=item self.left=None self.right=Noneclass Tree(object): def __init__(self): ...原创 2019-08-04 21:33:38 · 5114 阅读 · 3 评论 -
Python3实现循环链表
循环链表一、概要:循环链表是相对于单链表而言的一种特殊情况,就是将最后一个节点的next域赋值给头结点(图一为单链表,图二为循环链表)级循环链表与单链表的比较循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。①循环链表中没有None域。涉及遍历操作时,其终止条件就不再是像非循环链表那样判别p或p->next是否为None,而是判别它们是否等于某一指定指...原创 2019-07-23 09:17:15 · 835 阅读 · 0 评论 -
Python3实现随机验证码
Python3实现随机验证码1.简介:我们知道在浏览一些网站时经常会出现请你输入有效验证码,那么这个验证码在Python中如何实现呢! 下面我们就讲一下最为简单的四位随机验证码的生成。运用的知识点:(1)模块:random中的random.randint;random.randrange(2)for循环语句,if…elif…elif…else(3)Python内置函数chr()chr...原创 2019-07-23 09:38:30 · 649 阅读 · 0 评论 -
python求x的平方根
python求x的平方根方法一:暴力法class Solution: def mySqrt(self, x: int) -> int: if x< 0: return False else: y=int(x**0.5) return y这里的x0.5中的就是幂次方的意...原创 2019-07-27 12:30:29 · 5134 阅读 · 0 评论 -
python实现双向链表
python实现双向链表双向链表:在单链表的节点中只有一个指向其后继节点的指针域next,因此若已知某节点的指针为p,其后继节点的指针为p->next,而找其前驱节点则只能从该链表的头指针开始顺着各节点的next域进行,也就是说找后记的时间性能是O(1),找前驱的节点为O(n),如果也希望找到前驱的时间性能是O(1),则可以通过付出空间为代价,每一个节点再加一个指向前驱的指针域。因此这就...原创 2019-08-06 21:27:15 · 361 阅读 · 0 评论 -
Python3实现栈操作
Python3实现栈操作简介栈栈是限制在表的一端进行插入和删除的线性表。允许插入,删除的这一端称为栈顶,另一端固定端称为栈底。当表内无元素时称为空栈。实现栈的功能:一、判断栈是否为空class Stack(): def __init__(self): self.stack=[]#构建一个空栈 def is_empty(self): ret...原创 2019-07-23 21:20:26 · 2170 阅读 · 0 评论