
python
su_bao
stay hungry, stay foolish~
展开
-
最大和子数组
1、任务要求 给你一个数组,里面的元素为正整数、负整数、零,请你输出这个数组的一段,我们成为最大和子数组,子数组满足它的所有元素之和是原数组中最大的。即原数组中不存在另一个子数组,满足元素之和大于最大子数组元素之和。2、思路详解 把这个给定数组的所有子数组全部求出来,然后找出最大和的子数组,这时候再输出这段子数组即可。3、python代码#求最大字数组和,并打印该字数组arr =...原创 2018-07-02 09:46:57 · 261 阅读 · 0 评论 -
将python程序转成exe可执行文件
1、需要安装pyinstaller(命令:pip install pyinstaller)2、进入到python文件所在文件夹3、生成exe文件(命令:pyinstaller *.py)原创 2018-08-29 14:57:51 · 985 阅读 · 0 评论 -
python制作exe可执行表白神器
1、效果图2、程序源码import turtleimport time#writing txtturtle.hideturtle()turtle.penup()turtle.goto(130,50)# turtle.pendown()turtle.color("blue")turtle.write("亲爱的,给你画个东西",font = ("Times",18,"bo...原创 2018-08-29 15:07:41 · 5049 阅读 · 1 评论 -
一文彻底搞懂python中的self
在介绍Python的self用法之前,先来介绍下Python中的类和实例…… 我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创建出来的一个个具体的“对象”,每一个对象都从类中继承有相同的方法,但各自的数据可能不同。 1、以Student类为例,在Python中,定义类如下:...转载 2018-09-03 10:53:11 · 8577 阅读 · 3 评论 -
详解两个栈实现一个队列(python实现——经典面试题)
1、题目说明 使用两个栈结构,实现一个队列功能,实现队列的添加元素和弹出元素。 注意: 队列特点是只能在队列尾部添加元素,在队列头部删除元素,先进先出(FIFO/LILO)2、结题思路 两个栈可以巧妙的结合,第一个栈用来添加元素,而在第二个栈中弹出元素。 我们把所有添加元素的操作放在第一个栈中实现,当需要弹出元素时全部放...原创 2018-09-03 11:45:03 · 2154 阅读 · 1 评论 -
详解两个队列实现一个栈(python实现——经典面试题)
1、任务详解 使用两个队列数据结构实现一个栈,要求实现栈的出栈和进栈操作。2、解题思路 push()操作: 为了保证先进栈的元素一直在栈底,需要将两个队列交替使用,才能满足需求。因此,想法是,我们只在空的那个队列上添加元素,然后把非空的那个队列中的元素全部追加到当前这个队列。这样一来,我们又得到一个空的队列,供下一次添加元素。 p...原创 2018-09-03 16:18:29 · 5593 阅读 · 1 评论 -
一行python实现字符串或数组反转(一行代码的小诀窍)
1、调用reverse()方法(注意:字符串没有reverse()这个函数调用) 2、使用数组特性原创 2018-09-26 21:25:58 · 3931 阅读 · 0 评论 -
详解python中format函数的强大功能
1、参数替换 format函数可以不限定参数个数,不限定参数位置。 一、不设置指定位置,按默认顺序 二、设置指定位置 2、设置参数 3、数字格式输出 ...原创 2018-09-29 16:56:14 · 4079 阅读 · 0 评论 -
超级好用的Pycharm 2018激活(亲试有效)
请看这篇优快云博客:https://blog.youkuaiyun.com/u014044812/article/details/78727496原创 2018-10-18 14:10:16 · 521 阅读 · 0 评论 -
一分钟学会读csv文件和写csv文件(python实现)
import csvwith open('Python-Predict/Data/train.csv') as tra: rdr = csv.reader(tra) items = list(rdr)print("rdr:",rdr)print(items)with open('trainjaja.csv', 'w',newline='') as tra2: ...原创 2018-10-15 14:56:10 · 972 阅读 · 0 评论 -
Python初始化字典的一个非常简便帅气炫酷的方法
1、已知字典值得情况下初始化字典lst = [1,3,5,7,9] #存放字典的键dic = {}.fromkeys(lst,0) #将字典中所有键的值初始化为02、打印初始化效果原创 2018-10-22 13:44:51 · 3083 阅读 · 0 评论 -
分别用递归、循环、bisect实现二叉查找(python实现)
1、递归实现二叉查找def binary_search_recursion(lst,target,low,high): if high < low: return None middle = (low + high)//2 if lst[middle] > target: return binary_search_recur...原创 2018-08-15 10:30:17 · 178 阅读 · 0 评论 -
python实现三目运算符(if else 在同一行)
1、回顾三目元算符 对于条件表达式 b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。2、python实现三目运算符 上图可以看出,python实现了和三目运算符差不多的功...原创 2018-08-07 17:09:42 · 51544 阅读 · 1 评论 -
python中字典的操作
1、创建一个字典temp = {}或者:temp = dict()上述方法都可以用来创建一个空的字典。2、往字典里里加键和值一、用if判断之后添加键和值:if temp.get(num[i]) == None: temp[num[i]] = 1这时候就添加了一个键为num[i]的元素,并且把它的值赋为1。二、使用setdefault()方法t...原创 2018-08-02 17:27:24 · 1548 阅读 · 0 评论 -
最大子数组和——动态规划法
1、总结上一篇方法 上一篇求解最大子数组用的是暴力求解法,把所有可能的子数组和求出来,然后比较得出最大的子数组和,这方法也是最容易想出来的,编程比较容易,感兴趣的同学可以看我的上一篇博客。2、基于动态规划的最大子数组求和问题 由于暴力求解的复杂度为O(n**3),确实有点大,那么不妨采用动态规划法求解,主要思路也很简单明了,我们假设最大和子数组由两部分组成,一个是前向和s...原创 2018-07-02 15:06:19 · 3016 阅读 · 0 评论 -
python生成二维矩阵的方法
1、直接用列表生成m行n列的矩阵m,n = map(int,input().split())matrix = [[0]*(m)]*(n)输出为:这种方式生成的矩阵存在一定的问题,比如,无法给特定位置的元素赋值,例如:matrix[1][1] = 9输出为:可见,第二列的元素全部被赋值为9了2、采用numpy生成想要维度的矩阵import numpy ...原创 2018-07-24 16:46:32 · 111233 阅读 · 14 评论 -
python实现进制转换-十进制-二进制-八进制-十六进制
1、python代码num = int(input("输入十进制数字:"))print("十进制数为:", num)print("转换为二进制为:", bin(num))print("转换为八进制为:", oct(num))print("转换为十六进制为:", hex(num))2、输出结果...原创 2018-07-25 17:25:09 · 4317 阅读 · 0 评论 -
Python实现二叉搜索
1、什么是二叉搜索 二叉搜索是在一个有序的列表中,寻找目标元素。因此我们需要对半查找即可。当目标元素比中间元素小,则在中间元素的左边查找;反之,则在目标元素的右边查找。直到左边界比右边界还要大停止查找。2、Python代码def binarySearch(target,arr): right = len(arr) - 1 left = 0 while left <...原创 2018-07-15 11:23:20 · 298 阅读 · 0 评论 -
any()和all()在Python中的作用
1、any() 判断给定的可迭代参数iterable中的所有元素是否都为False,如果是则返回True,否则返回False。def any(iterable): for element in iterable: if element: return False return True2、all() 判断给...原创 2018-07-30 14:50:07 · 755 阅读 · 0 评论 -
python实现列表或字符串反转
1、例子 由于编程中经常会需要将一个列表或者字符串进行反转操作,例如: 输入:[1,2,3,4,5] 输出:[5,4,3,2,1] 输入:‘abcdefg’ 输出:‘gfedcba’2、编程实现(通用的方法)3、编程实现(仅适用于列表)...原创 2018-08-09 15:53:59 · 1508 阅读 · 0 评论 -
一行代码将列表转换成字符串(python实现)
1、需求说明 输入:[1,2,3,4,5,6] 输出:1234562、编程实现原创 2018-08-09 16:06:03 · 14429 阅读 · 0 评论 -
一文掌握python中常用的基本函数(从python菜鸟变成高手)
1、strip() 用于移除字符串头尾指定的字符(默认为空格)2、split() 指定分隔符对字符串进行切割,并返回包含分割结果的列表。3、extend() 用于在列表末尾一次性追加另一个序列中的多个值。(用新列表扩展原来列表)4、map() 会根据提供的函数对指定序列做映射。第一个参数function以参数序列中的每一个元素调...原创 2018-08-01 16:44:09 · 1191 阅读 · 0 评论 -
手把手教你python画图(精简实例,一看就懂)
1、不叨叨,直接上代码import matplotlib.pyplot as pltx = [1,2,3,4,5]y = [0,3,2,7,9]plt.figure()plt.plot(x, y,'r-', lw =5)plt.show()2、结果图原创 2018-08-06 17:29:03 · 25986 阅读 · 1 评论 -
del关键字在python中的作用
1、什么是del 口诀:del删除的是变量,而不是数据,解除了变量和数据的联系。2、举例子 3、列表中的效果原创 2018-08-14 17:40:37 · 7620 阅读 · 3 评论 -
Python千万要注意的全局变量和局部变量问题
1、直接在函数中调用全局变量m = 100def fun(): print("m1:",m)fun()print("m2:", m)输出:2、函数体内调用与全局变量同名的局部变量m = 100def fun(): m = 50 print("m1:",m)fun()print("m2:", m)输出:解释:在函数体内,定义了...原创 2018-10-20 11:45:20 · 15171 阅读 · 4 评论