
python
weixin_43384009
抓住每次可以学习的机会
展开
-
leetcode刷题----python
leetcode1. 两数之和2. 字符串1. 两数之和**Q:**给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。解法一:循环class Solution: def twoSum(self, nums, target) : if not nums: return [] long_num=原创 2020-08-21 17:01:31 · 158 阅读 · 0 评论 -
牛客网刷题:企业真题
名企编程真题1 . 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。2. 牛客网输入3. 剪绳子4. 找出数组中重复的数字1 . 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。n=int(input())a=[]for _ in range(n): a.append(int(input()))sum_max_a= [a[0]]for i in range(1,原创 2020-08-21 17:02:18 · 522 阅读 · 0 评论 -
python版:剑指offer刷题
剑指offer1. 二维数组中的查找2. 替换空格3. 从头到尾打印链表1. 二维数组中的查找Q: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。时间复杂度O(n)a = [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]]class Solution: # 二维列表数据查原创 2020-08-21 17:00:46 · 331 阅读 · 0 评论 -
python:冒泡排序、快速排序
排序算法:冒泡排序原理:比较相邻的元素,如果第一个比第二个大,就交换他们两个def bubble_sort(list): for i in range(len(list)): for j in range(0,len(list)-i-1): if list[j] > list[j+1]: list[j],list[j+1]=list[j+1],list[j] return listx=input("请输待原创 2020-08-29 13:04:28 · 180 阅读 · 0 评论 -
python:windows下解决pip下载、安装速度慢
windows下解决pip下载、安装速度慢1. 临时使用2. 永久修改1. 临时使用pip -i http://mirrors.aliyun.com/pypi/simple plotly2. 永久修改在C盘的users目录中xxx用户目录下,创建一个pip目录,在pip目录中新建pip.init文件,文件内容为:[global]index-url = http://mirrors.aliyun.com/pypi/simple/ # 此处使用了阿里云镜像[install]trusted原创 2020-05-25 20:50:30 · 598 阅读 · 0 评论 -
python:break、continue、return、pass
目录标题1. break2. return3. pass4. continue1. breakbreak:表示跳出for j in range(3)循环,但是for i in range(3)循环继续a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]for i in range(3): for j in range(3): if a[i][j] =...原创 2020-03-06 19:23:17 · 286 阅读 · 0 评论 -
dataframe排序、重新设置索引、获取行数和列数,numpy.zeros、
目录标题1. dataframe排序2. dataframe重新设置索引3. 获取dataframe的行数和列数4. numpy.zeros1. dataframe排序DataFrame.sort_values(by, axis=0, ascending=True, inplace=False,kind='quicksort', na_position='last')axis:axis=...原创 2020-03-06 19:18:57 · 8888 阅读 · 0 评论 -
pandas:数据修改、数据筛选、数据合并
目录标题1. 导入数据和修改数据2. 数据筛选3. dataframe合并3.1 concat3.1.1 axis3.1.2 join3.1.3 join_axes3.1.4 ignore_index3.1.5 concat合并多个dataframe3.2 append4. 索引筛选4.1 切片操作4.2 loc函数4.3 iloc函数1. 导入数据和修改数据# 导入pandas库impo...原创 2020-03-04 20:57:20 · 2050 阅读 · 0 评论 -
python学习36:单例设计模式
设计模式:设计模式是前人工作的总结和提炼。通常被人们广泛流传的设计模式都是针对某一特定问题的成熟解决方案。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。单例设计模式:目的:让类创建对象,在系统中只有唯一的一个实例(对象)每一次执行类名()返回的对象内存地址是相同的怎么保证这些对象只有一个?__new__方法: 我们用类名创建对象的时候,python...原创 2020-01-29 20:46:17 · 120 阅读 · 0 评论 -
python学习35:类属性和类方法,静态方法,私有属性和私有方法
目录标题1. 类属性和类方法2. 静态方法3. 私有属性和私有方法1. 类属性和类方法类属性:针对类对象定义的属性,使用赋值语句在class关键字下可以定义类属性。类方法:针对类对象定义的方法,在类方法内部可以直接访问类属性或者调用其他的类方法。class Toy(object): # 使用赋值语句 记录所有的玩具数量 count = 0 def __init__...原创 2020-01-29 17:39:13 · 227 阅读 · 0 评论 -
python学习35:多态
多态(以封装和继承为前提);不同的子类对象调用相同的方法 产生不同的执行结果。class Dog(object): def __init__(self,name): self.name = name def game(self): print('%s 开心的玩耍~' %(self.name))class Gaifei(Dog): ...原创 2020-01-29 16:43:10 · 90 阅读 · 0 评论 -
python学习34:继承
目录标题1. 继承2. 类的结构3. 新式类和旧式(经典)类1. 继承继承具有传递性;当父类方法的实现不能满足子类的需求的时候,可以对父类方法进行重写:1. 覆盖父类方法;2. 对父类的方法进行扩展。class Animal: def eat(self): print('吃!!!') def drink(self): print('喝!...原创 2020-01-29 13:32:12 · 342 阅读 · 0 评论 -
练习13:封装练习
需求:1.房子有户型,总面积和家具名称列表新房子是没有家具的2.家具有名字和占地面积,其中eg:占地 6平方米3.将以上三件家具添加到房子中4.打印房子的时候,要求输出:户型 总面积 剩余面积 家具名称列表class HouseItem: # 初始化方法 def __init__(self,name,area): self.name = name ...原创 2020-01-28 23:03:08 · 679 阅读 · 0 评论 -
python学习33:封装
目录标题封装:封装是面向对象编程的一大特点;面向对象编程的第一步 将属性和方法封装到一个抽象的类中;外界使用类创建对象,然后让对象调用方法;对象方法的细节都被封装在类的内部。class Person: def __init__(self,name,weight): self.name = name self.weight= weight ...原创 2020-01-28 22:57:15 · 94 阅读 · 0 评论 -
练习12:栈和队列
栈“”"栈:先进后出 。功能:入栈 出栈 取栈顶元素 判断栈是否为空 显示栈的元素class Stack: def __init__(self): self.stack =[] def push(self,value): """ :param value: 入栈元素 :return: ...原创 2020-01-27 22:26:34 · 81 阅读 · 0 评论 -
python学习32:面向对象
目录标题1.面向对象和面向过程的区别2.定义一个类3.初始化方法1.面向对象和面向过程的区别面向过程:—侧重于怎么做?把完成某一个需求的 所有步骤 从头到尾 逐步实现。根据开发要求,将某些功能独立的代码封装成一个又一个函数。最后完成的代码,就是顺序的调用不同的函数。特点:注重步骤和过程,不注重职责分工。如果需求复杂,代码变得非常复杂开发复杂的项目的时候,没有固定的套路,...原创 2020-01-27 22:07:56 · 113 阅读 · 0 评论 -
python学习31:redis存储系统
目录标题1.什么是redis?2.redis的安装3.redis的使用1.什么是redis?REmote DIctionary Server(Redis) 是一个key-value存储系统。使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(python, php, java…)。它通常被称为数据结构服务器,因...原创 2020-01-27 19:54:13 · 212 阅读 · 0 评论 -
python学习30:paramiko(基于ssh用于连接远程服务器)
目录标题1.ssh的linux远程连接过程2.paramiko批量远程密码连接3.paramiko批量远程上传和下载1.ssh的linux远程连接过程# ssh username@ip passwd# 解决的问题:如果只前没有连接过的ip 会出现"""[root@foundation0 .ssh]# ssh root@172.25.254.54The authenticity of...原创 2020-01-27 17:38:19 · 238 阅读 · 0 评论 -
练习11:将时间和对应的cpu占有率匹配
import psutilimport timewhile True: # 获取当前时间和cpu的占有率 t = time.localtime() # 元组时间 cpu_time = '%d:%d:%d' %(t.tm_hour,t.tm_min,t.tm_sec) # 每一秒获取获取cpu的占有率 cpu_res = psutil.cpu_perc...原创 2020-01-27 12:59:16 · 97 阅读 · 0 评论 -
python:知识点补充
目录标题1.for..else..2.rwa3.time.sleep()4.字典排序4.1使用operator模块1.for…else…for i in num: if i==5: print('zjy')else: print('xixi')运行结果:for i in num: if i==5: breakelse: ...原创 2020-01-09 17:29:36 · 118 阅读 · 0 评论 -
练习09:学生管理系统
方法说明re.sub("\D", “”, option)将option中的非数字的字符去掉,提取出数字原创 2020-01-07 22:12:14 · 216 阅读 · 0 评论 -
练习10:mysql
随机生成100个人名和对应的密码;人名由三个汉字或者2个汉字组成,姓 = [许, 张, 赵, 钱, 孙, 李, 朱, 杨]名 = [彬, 群, 宁, 盼, 龙, 欢, 丹]密码统一6位, 由字母和字符组成;存储上述用户信息到数据库中,保存在数据库users中的userinfo表中;import randomfrom random import choice as choice...原创 2020-01-03 20:37:58 · 113 阅读 · 0 评论 -
python学习29:mysql
目录标题1. 环境配置2. 连接数据库并创建表2. 1 connection对象2. 2 Connection对象常用的方法如下:3. 提交数据和插入多条数据4. 对数据库查询游标的移动1. 环境配置需要在自己的linux 中安装mariadb-server 程序(端口为3306),并且开启。注意,不能进行网络的安全设定(vim /etc/my.cf vim skip-networking...原创 2020-01-03 20:04:36 · 165 阅读 · 0 评论 -
python学习28:装饰器
目录标题装饰器@修饰符装饰器把一个函数当作参数传递给另一个函数 返回一个替代版的函数本质上就是一个返回函数的函数在不改变原函数的基础上 给函数增加功能def say_hello(name): return f"Hello {name}"def be_some(name): return f"Your {name}"def greet_bob(func):...原创 2020-01-03 17:02:26 · 161 阅读 · 0 评论 -
pycharm的debug功能
瓢虫标志是进去debug调试show execution point (F10) 显示当前所有断点step over(F8) 单步调试。若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行。step into(F7) 单步调试。若函数A内存在子函数a时,会进入子函数a内执行单步调试。step into my code(Alt ...原创 2020-01-03 11:04:14 · 197 阅读 · 0 评论 -
python学习27:eval内置函数
目录标题1. 字符串转换成列表2. 字符串转换成字典3. 字符串转换称元组1. 字符串转换成列表a = "[[1,2],[3,4]]"print(type(a))b = eval(a)c = list(a)print(type(b))print(type(c))print(b)print(c)2. 字符串转换成字典a = "{1:'a',2:'b'}"print(ty...原创 2020-01-02 12:56:33 · 103 阅读 · 0 评论 -
python学习26:异常
目录标题1. try and except的使用2. try ,except,else 和finally3. 函数的错误4. 抛出异常练习1. try and except的使用try: # 不能确定正确之行的代码 num = int(input('请输入一个数字:')) print(num)except: # try里面的代码如果有异常/错误 才会之行以下...原创 2020-01-02 12:45:05 · 216 阅读 · 0 评论 -
python学习25:table的应用
from prettytable import PrettyTablefield_names = ("ID",'名字','英语成绩','Python成绩','C语言成绩')table = PrettyTable(field_names=field_names)table.add_row(['01','zjy',22,44,55])print(table)...原创 2020-01-02 11:25:56 · 123 阅读 · 0 评论 -
python学习24:re模块
用法说明str.replace(old, new[, max])replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。re.sub(’\d+’,‘222’,inputStr)将inputStr中的数字替换成222\d:匹配任意一个数字 包括[0-9]和其他数字字符\D:(\...原创 2020-01-02 11:13:46 · 98 阅读 · 0 评论 -
python学习23:difflib模块之文本对比
目录标题1. 符号理解及对比实现2. linux文件之间的对比difflib模块difflib为python的标准库模块,无需安装。作用是对比文本之间的差异,并且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。用法说明splitlines()按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 ke...原创 2020-01-02 11:00:21 · 120 阅读 · 0 评论 -
练习08:时间模块
需求:获取当前主机信息, 包含操作系统名, 主机名,内核版本, 硬件架构等;获取开机时间和开机时长;获取当前登陆用户用法说明psutil模块是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。psutil.boot_time()获取开机时间psutil.user...原创 2020-01-02 10:13:55 · 118 阅读 · 0 评论 -
python学习22:时间模块
目录标题1. 时间戳2. 字符串时间3. 元组时间4. 常用时间的转换4.1 把元组时间转换为时间戳4.2 把元组时间转化为字符串时间4.3 将时间戳类型的时间转换为字符串时间4.4 将时间戳类型转换为元组类型的时间5. datetime世间表示的几种形式:时间戳字符串时间元组类型的时间方法说明time.asctime([tupletime])接受时间元组...原创 2020-01-01 21:06:19 · 114 阅读 · 0 评论 -
python学习21:os模块2
利用time.time()方法,我们可以计算两个时间点之间的时间间隔,但是有些时候我们想要得到/etc/group文件的最后m/a/c/time的时间,对应的年月日这些信息并保存再文件date.txt文件中。import osimport timetime1 = os.path.getctime('/etc/group')print(time1)tuple_time = time...原创 2020-01-01 20:16:41 · 86 阅读 · 0 评论 -
练习07:模块
在当前目录新建目录img, 里面包含多个文件,文件名各不相同(X4G5.png)将当前img目录所有以.png结尾的后缀名改为.jpg方法说明os.listdir(path)返回path指定的文件夹包含的文件或文件夹的名字的列表os.path.exists(path)如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False...原创 2020-01-01 20:03:16 · 96 阅读 · 0 评论 -
python学习21:os模块
目录标题1. 返回操作系统类型2. 操作系统的详细信息3. 系统的环境变量判断是否是绝对路径生成绝对路径获取目录名和文件名创建目录删除目录创建文件和删除文件文件重命名判断文件或目录名是否存在分离后缀名和文件名将目录名和文件名分离1. 返回操作系统类型返回值:posix是Linux操作系统返回值:nt是windows操作系统import osprint(os.name)pri...原创 2020-01-01 19:10:21 · 123 阅读 · 0 评论 -
练习06
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合给出数字到字母的映射如下(与电话按键相同)1不对应人和字母-输入:“23”输出:【ad”, “ae”, “af”, “bd”,“be”, “bf”, “cd”, “ce”, “cf”】def phpneLetter(digits): if not digits: return [] key...原创 2020-01-01 15:41:33 · 152 阅读 · 0 评论 -
练习05
京东二面编程题生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;读取ips.txt文件统计这个文件中ip出现频率排前10的ip;import randomdef create_ip_file(filename): ip=['172.25.254.'+str(i) for i in range(1,255)] # pri...原创 2019-12-29 20:17:37 · 106 阅读 · 1 评论 -
python学习20:对文件操作
目录标题1.对文件的常用操作1.1.r(readonly)默认参数1.2.w1.3.a1.4.非纯文本文件2.大文件操作1.对文件的常用操作1.1.r(readonly)默认参数r默认参数只能读 不能写读取文件不存在 会报错r+可读,可写文件不存在,会报错默认情况下,从文件指针所在位置开始写入1.2.ww写文件(write only)文件存在时,会清...原创 2019-12-27 15:45:03 · 136 阅读 · 0 评论 -
python学习19:字符串补充
快速生成验证码(内推码/密码 nums+alpha)import randomimport stringprint(string.ascii_letters) ##所有字母print(string.ascii_uppercase) ##所有大写字母print(string.ascii_lowercase) ##所有小写字母print(string.digits) ##所有数字...原创 2019-12-27 12:06:15 · 96 阅读 · 0 评论 -
python学习18:高阶函数
目录标题1.高阶函数2.内置高阶函数2.1.map()2.2.reduce()2.3.filter()2.4.匿名函数lambda()练习1.高阶函数高阶函数实参是一个函数函数的返回值也是一个函数def fun(x,y,f): return f(x),f(y)print(fun(-10,34,abs))2.内置高阶函数2.1.map()map():接收两个...原创 2019-12-26 21:58:37 · 196 阅读 · 0 评论