- 博客(61)
- 资源 (10)
- 收藏
- 关注
原创 python argparse基本用法总结
1、argparse是什么这个模块时用来在命令行模式下运行Python脚本,使能够传入参数,直接看个例子:就是比通过的命令行运行多了杠杠啥,杠啥。Python test_duye.py --video body.MP4 --image a.png --relative --adapt_scale2、基本用法# -*- coding: utf-8 -*-import argparseimport datetimedef get_parser(): # 生成arg
2021-03-07 12:54:42
535
原创 return' outside function问题
使用Python时,好几次遇到错误提示:return' outside function原因基本都是这样的:因为Python是从第一行开始执行,因此没有把代码封装成函数(不好的编程习惯),还仍然在输出时使用return。结果出现了上述错误提示。此时应该使用print()函数。总结:return是写在函数里的。...
2019-08-27 21:40:44
23422
原创 Python 实现堆排序
#堆排序def heap_sort(arr): root = len(arr)//2-1 while(root>=0): heap_adjust(arr,root,len(arr)-1) root=root-1 # 此时生成的大顶堆,满足每个根节点为子树中最大,因此,之后只需要对最顶的子树进行调整 i ...
2019-07-23 18:21:14
306
1
原创 Python的快速排序 逐步深入
因为有一个先入为主的概念:快速排序最牛。因此刚开始一听见快速 排序就不敢写,认为其绝对很复杂。事实证明这种想法不能有!简单粗暴地使用递归手写快速排序:(为了面试时候能不怯场的直接手撕)# 简单粗暴的快速排序# 存在额外的开销存放左右# 要多次遍历数组def quicksort(array): # 直接递归 if len(array)<2: # 递归出...
2019-07-23 16:15:00
181
原创 使用pytest 出现collected 0 items解决
2019.7.23学到Python的单元测试时,使用pytest库进行练习,出现如图所示问题:在stackoverflow上找到同样的错误,链接如下:https://stackoverflow.com/questions/37353960/pytest-exits-with-no-error-but-with-collected-0-items但我的测试文件和测试函数的命名都是以t...
2019-07-23 11:23:17
6177
1
原创 Python 装饰器整理
是什么:首先,Python装饰器的作用是:让被装饰的函数在不需要任何变化的情况下,增加额外的功能。为什么:为什么要用装饰器呢,直接增加功能不就行了?因为有的程序已经上线或已经被使用,那么就不能大批量的修改源代码,于是就产生了装饰器。怎么装饰:预备知识:函数名和函数的区别,即带括号和不带括号的区别1.test1表示的是函数的内存地址。可以理解为一个指向某块内存的标签。...
2019-06-29 19:51:37
185
原创 剑指offer 19.正则表达式匹配 Python解法
题目描述:正则表达式给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。分析:这题看...
2019-06-24 22:26:33
184
原创 剑指offer 18.删除链表中的节点 Python解法
题目描述:给定链表中的一个节点,删除它。分析:用后边的节点信息覆盖掉前边的。# 即用后一个节点,把前边节点的信息覆盖# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.ne...
2019-06-24 21:54:46
197
原创 剑指offer 17.打印0到n位的最大值 Python解法
def maxnum(n): end = 10**n i = 0 while(i<end): print(i) i=i+1maxnum(3)没啥讲的,python存在优势。
2019-06-22 20:05:58
124
原创 剑指offer 16.熟知的整数次方 Python解法
题目描述:不使用库函数。分析:某数的n次方。n可为奇数,n也可为偶数。目的是要减少计算量!!!备注:代码中的几个要点:1、如何实现除以2。2、x和n的边界条件:0、负数等# 使用的是数学公式,剑指offer书P112。# 使用每次除以2 的方法,减少了非常多的计算量def mypoww(x,n): def tem(x,n): if n == ...
2019-06-22 20:03:50
181
原创 剑指offer 15.二进制中的1的个数 Python解法
题目描述:一个10进制的数,写成二进制,统计其中1的个数。分析:是不是想到了变成字符串?咋变呢?答:bin()函数:把十进制数转换成二进制。类型是str注意点:① bin()函数前边还有0b占了2位。 ② n&1,判断n的奇偶,奇数返回1. ③ >> 移位符。 # 解法二...
2019-06-21 13:53:50
171
原创 剑指offer 14.剪绳子 Python解法
题目描述:给你一根长度为 n 绳子,请把绳子剪成 m 段(m、n 都是整数,2≤n≤58 并且 m≥2)。 每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]k[1] … k[m] 可能的最大乘积是多少?例如:当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到最大的乘积18。分析:书上说的有数学规律:(看注释)# 方法一:贪婪算法def ma...
2019-06-21 13:40:22
337
原创 剑指offer 13.机器人的运动范围 Python解法
题目描述:机器人的行动范围 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?分析:1、行坐标...
2019-06-20 21:13:19
222
原创 剑指offer 12.矩阵中的路径 Python解法
题目描述:判断一个矩阵中是否存在一条包含某字符串的所有字符的路径。但是经过了某一个格子,就不能再回去了。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E'] ]...
2019-06-20 20:13:10
382
原创 剑指offer 11.旋转过的数组的最小数 Python解法
题目描述:11、寻找旋转排序数组中的最小值假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7] 可能变为[4,5,6,7,0,1,2])。请找出其中最小的元素。你可以假设数组中不存在重复元素。分析:不要一拿到题就遍历!!看看题目描述,这个列表是有特点的。打破遍历思维,增加二分法思维!打破遍历思维,增加二分法思维!(注意点...
2019-06-19 11:40:18
126
原创 剑指offer 10.斐波那契数列 Python解法
题目描述:求第n项。(被问到过这一题),以前也没仔细看过这一题,的几种解法,正好回顾下。一:递归,注意看注释:递归每次调用都要重复计算之前算过的。# 方法一:递归# 递归的效率很低def fibb(n): if n==1 or n ==2: return 1 else: return fibb(n-1)+fibb(n-2) # 因为没有存储,每...
2019-06-19 11:19:24
169
原创 剑指offer 8.二叉树的下一个节点 Python解法
题目描述:二叉树的中序遍历下一个节点给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析:见树头疼系列。画图看看。中序是:左根右。画一个树,考虑几个给定的点的特殊位置,继而不断写完整函数。# class TreeLinkNode:# def __init__(self, x):# ...
2019-06-19 11:08:10
134
原创 剑指offer 7.重建二叉树 Python解法
题目描述:根据前序遍历和中序遍历重建二叉树,假设遍历结果中不包含重复的数字。分析:这题看起来好难啊。见到二叉树的题就打怵。画图就相对清楚了。递归时的左右子树的位置下标,画一画就得出了。特表注意,列表的“左闭右开”,右边的值是取不到的!附带着,由重建的二叉树,很容易写出后序遍历。(下边的代码中,定义为hou。不想改了,但是不建议使用这种命名方式。同样的还有self.vol,...
2019-06-19 10:54:47
133
原创 剑指offer 6.从尾到头打印链表 Python解法
题目描述:输入一个链表,按链表值从尾到头的顺序返回一个列表。分析:链表的结构是一边存放值,一边存放下一个位置。自然想到要遍历整个链表。接着自然应该想到确定循环的条件。构造了一个空列表,使用l.insert()方法将每个链表元素的值插入到列表的0位置。要注意的是正确填入insert()的参数。class ListNode: def __init__(self, x): ...
2019-06-19 10:33:09
113
原创 剑指offer 5.替换空格 Python解法
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析:遍历字符串,找到空格,替换成%20。# 方法1:先把字符串转成列表,修改后,再拼接回去class Solution: def replaceSpace(self, s): b = list...
2019-06-19 10:26:58
122
原创 剑指offer 4.二维数组中的查找 Python解法
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析:给的数组是有特点的数组,行递增,列递增。并不是一眼就能看出题眼在矩阵右上角的那个位置,但是多试几次就能知道。右上角的数字特点:是本行的最大值,本列的最小值。即如果给定需要查找的数比...
2019-06-19 10:11:21
149
原创 剑指offer 3.数组中重复的数字 Python解法
题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。分析:要求找出任意一个重复的数字就结束。方法一:对数组排序,重复的数字就出现在一起,即相邻。注意,1、使用nu...
2019-06-19 09:59:21
165
转载 史上最简单十大排序算法(Python实现)
地址:https://blog.youkuaiyun.com/weixin_41571493/article/details/81875088待整理...
2019-05-06 11:11:43
149
转载 Flask和@app.route()
地址:https://blog.youkuaiyun.com/fang_chuan/article/details/81874678地址2:https://blog.youkuaiyun.com/carl95271/article/details/81635521
2019-05-04 16:15:05
541
原创 列表中元素拼接成字符串
s = [1,2,3]s2=[str(i) for i in s]s2 = ''.join(lis2)由于使用.join()方法要求列表中的元素必须全部是字符串形式,所有如果列表中是数字,要使用循环全部转成字符串。...
2019-04-24 21:56:15
4498
转载 【转】Ryu自带网络拓扑可视化app:gui_topology.py使用简介
转载地址:https://blog.youkuaiyun.com/qq_41854763/article/details/84639001 在使用SDN的过程中,经常会遇到网络拓扑可视化的需求,而目前主流的SDN控制器也都提供了相应的功能。这篇博文将简单介绍一下当你选用Ryu作为控制器时,如何实现网络...
2019-04-18 09:35:58
4038
1
转载 python查漏: find
find返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。例如:>>> info = 'abca'>>> print(info.find('a')) # 从下标0开始,查找在字符串里第一个出现的子串,返回结果:00>>> print(info.find('a', 1)) # 从下标1开始,查找在字符串里第...
2019-04-12 22:16:50
117
转载 ryu控制器源码分析-基于跳数的最短路径转发原理shortest_forwarding
源码:(附注释)from ryu.base import app_managerfrom ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parserfrom ryu.controller.handler import set_ev_clsfrom ryu.controller.handler import CONFIG_DISPATCHER...
2019-04-12 11:31:54
1512
9
原创 ryu控制器源码分析-simple_monitor_13.py
源码:(附注释)# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with t...
2019-04-12 11:09:44
674
原创 ryu控制器源码分析-simple_switch_13.py
源码: (附注释)# Copyright (C) 2011 Nippon Telegraph and Telephone Corporation.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with t...
2019-04-12 10:46:20
1644
原创 问题记录:RYU基于跳数的最短路径转发运行时报错
代码如下:from ryu.base import app_managerfrom ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parserfrom ryu.controller.handler import set_ev_clsfrom ryu.controller.handler import CONFIG_DISPATCHER, M...
2019-04-10 16:06:12
1404
4
转载 [转]python之pip常用命令
参考:https://www.jianshu.com/p/557d8c61daa81.查看pip(1)直接在cmd窗口中输入pip命令,会显示pip所有的参数使用方法;(2)输入pip提示Did not provide a command,则有两种可能,第一是没有配置环境变量,第二就是其他应用程序也存在pip的环境变量2.where pip这个命令不是pip...
2019-04-10 15:06:13
577
转载 【转】python打印杨辉三角的两种方法及详解
两种方法的不同是体现在对杨辉三角的构建方式的理解不同导致。方法一:# [1, 2, 1]# [1, 2, 1] 错位相加后:# [1, 3, 3, 1] 生成下一行。def triangles(): n = [1] while True: yield n n = [x+y for x,y in zip([0] + n,...
2019-04-07 18:03:37
1141
原创 Python 生成器
什么是生成器? 通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间,在...
2019-04-07 17:26:59
136
转载 python中yield的用法详解
这个博客讲解的非常清晰。https://blog.youkuaiyun.com/mieleizhi0522/article/details/82142856
2019-04-07 17:17:49
113
原创 Python查漏:extend和append
将两个列表合并成一个列表,有如下几种方法:1、extend()a = [1,2,3,4]b = [233,12]c = a.extend(b)print('a变成:',a)print('a的长度:',len(a))>>>a变成: [1, 2, 3, 4, 233, 12]a的长度: 62、append()a = [1,2,3,4]b =...
2019-04-06 21:46:26
153
转载 最短路径问题---Dijkstra算法详解
转载地址:https://blog.youkuaiyun.com/qq_35644234/article/details/608707191、最短路径问题介绍问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:迪杰斯特拉算法(Dijkstra算法)弗洛伊德算法(Floyd算法)SPFA算法这篇博客,我们就对Dijkstra算法来做...
2019-04-02 16:39:05
1215
转载 最短路径问题---SPFA算法详解
转载地址:https://blog.youkuaiyun.com/qq_35644234/article/details/616145811、最短路径问题介绍问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:迪杰斯特拉算法(Dijkstra算法)弗洛伊德算法(Floyd算法)SPFA算法之前已经对Dijkstra算法和Floy...
2019-04-02 16:25:17
269
转载 深入理解 Dijkstra 算法实现原理
文章地址:https://www.jianshu.com/p/ff6db00ad866迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。(嗯,第一段是抄的,由于本人算法的基础比较薄弱,我会尽量用通俗易懂的语言来让大家理解本文)参考博客:数据结构--Dijkstra...
2019-04-02 15:53:36
426
图解openflow_高清扫描版pdf
2018-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人