
python
人生苦短,及时行乐。有一起爬山的吗?
go_flush
这个作者很懒,什么都没留下…
展开
-
一个序列的组合(python)
【代码】一个序列的组合(python)原创 2022-10-03 10:19:25 · 472 阅读 · 0 评论 -
字符串反转特殊字符保持位置不变(python)
字符串反转原创 2022-07-13 16:15:18 · 1195 阅读 · 0 评论 -
字符串解压缩(华为od)
华为od原创 2022-07-12 09:13:59 · 1279 阅读 · 0 评论 -
FASTAPI python 的一个web框架
FASTapi原创 2022-07-04 16:23:44 · 408 阅读 · 0 评论 -
flask解决CORS ERR 问题
flask 解决跨域原创 2022-07-01 22:24:42 · 1668 阅读 · 0 评论 -
计算字符串的编辑距离(python)
编辑距离python原创 2022-06-27 14:21:09 · 2184 阅读 · 0 评论 -
读excel和写excel的方法(python)
写读exlcel 工具的封装原创 2022-06-18 09:23:40 · 266 阅读 · 0 评论 -
os.path.join()使用过程中遇到的坑
os.path.join 遇到的坑原创 2022-06-18 09:00:34 · 1452 阅读 · 1 评论 -
python 根据jinjia模板写excle
python 更具jinjia 模板写excel文件,需要安装python 的一个包。pip install xlsxtpl写excle 模板,jinjia 语法。代码如下:import osfrom datetime import datetimefrom xlsxtpl.writerx import BookWriterdef write_test(): pth = os.path.dirname(__file__) fname = os.path.join(pth.原创 2022-05-19 23:35:48 · 2601 阅读 · 2 评论 -
python转化时区
datetime 包进行转化方法一from datetime import datetime, timedelta, timezonedatetime_zone = datetime.utcnow().replace(tzinfo=timezone.utc).astimezone(timezone(timedelta(hours=8)))print(datetime_zone)# 结果# 2022-04-23 09:46:15.757988+08:00方法二from datetim原创 2022-04-23 10:07:40 · 1795 阅读 · 0 评论 -
marshmallow数据校验的神器(python)
marshmallow 包的使用marshmallow 和 django 的序列化器有点像。可以自定义校验的模型使用方法如下:1、定义需要校验的字段from marshmallow import Schema, fields, EXCLUDE, validate, ValidationErrorclass User(Schema): name = fields.String(required=True,allow_none=True,validate=Length(10,20,er原创 2022-04-04 18:46:32 · 1867 阅读 · 0 评论 -
mq 的通配符模式(python)
mq 的topic 模式,就是根据通配符去匹配路由,决定发送到那个队列。通配符的使用*表示一个单词,# 表示匹配零个或多个单词代码如下:produceimport pikafrom pika.exchange_type import ExchangeTypecon = pika.BlockingConnection( pika.ConnectionParameters(host="localhost"))channel = con.channel()channe.原创 2022-01-23 18:01:06 · 1544 阅读 · 0 评论 -
mq 的 direct 模式(python)
mq 的direct 模式,在生产者中,绑定队列和路由key 和 发布的路由key 一定要一致。消费者和生产者的路由key 一致,当然一个队列也可以绑定多个key.生产者python 代码import pika from pika.exchange_type import ExchangeType .原创 2022-01-18 22:50:11 · 2921 阅读 · 0 评论 -
mysql 的 TRUNCATE不同含义
TRUNCATE 作为函数来使用的话是截取一定位数的小数。TRUNCATE(x,y) 返回x保留到小数点后y位的值,与round 最大的区别是不会进行四舍五入。如图截取小数点后两位。如果Truncate 后面给table的话,是删除表中的数据,并且连同索引一块清零,不能回滚。...原创 2022-01-17 21:49:13 · 538 阅读 · 0 评论 -
rabbitmq 的 hello world (python)
rabbitmq 的hello_world,最见简单的模式。生产者代码如下import pikaclass Producer(object): def __init__(self, queue_name, username, password, host, port,virtual_host): con_param = { "host": host, "port": port, "virtua.原创 2022-01-09 23:25:55 · 577 阅读 · 0 评论 -
mysql 索引失效的情况
索引是为了提高查询效率而建的,索引并不是越多越好,因为每条索引mysql 都维护一个b+ 树,会增加mysql 开销。多了增删改的效率就会降低。对于查询频率比较高的字段建立索引,而且该字段的区分度要高于80%。这样才有意义。查看区分度 count(distinct(book_name))/count(*)select(select count(distinct(book_name))from book_detail)/(select count(*) from book_detail) as ra.原创 2021-07-08 12:22:32 · 389 阅读 · 2 评论 -
python通过pip install -r requirements.txt 安装包错误时,跳过改包的安装
通过 pip install -r requirements.txt 安装包时,有一个包安装错误,都安装不成功,通过脚本实现错误的包跳过安装。代码如下:# -*- coding: utf-8 -*-# @DATE : 2021/12/19# @File : install_package.pyfrom subprocess import calldef install_package(python_env, pack_path): """ :param python_env.原创 2021-12-19 13:22:05 · 5219 阅读 · 1 评论 -
python括号生成(leetcode)
正整数n代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且有效的括号组合。动态规划代码如下:class Solution: def generateParenthesis(self, n): def gen(rightSymbol, leftSymbol, path, res): if leftSymbol < rightSymbol or rightSymbol > n or leftSymbol > n: # 左括.原创 2021-12-05 21:25:59 · 368 阅读 · 0 评论 -
python泰波那契序列(leetcode)
泰波那契序列Tn定义如下:t0 = 0, t1 = 1, t2 = 1, 且在n >= 0 的条件下tn+3 = tn + tn+1 + tn+2给你整数n,请返回第n个泰波那契数tn 的值当前项等于前三项之和解法一 暴力递归代码如下:class Solution: def tribonacci(self, n: int) -> int: if n == 0: return 0 if n == 1 or n == 2.原创 2021-12-05 13:15:24 · 801 阅读 · 0 评论 -
python组合(leetcode)
给定两个整数n 和 k,返回范围[1,n] 中所有可能的k个数的组合。你可以按任何顺序返回答案。回溯代码如下:class Solution: def combine(self, n: int, k: int): path, result = [], [] def backtrack(start, n, k, path): if len(path) == k: result.append(path[:.原创 2021-11-25 23:35:10 · 579 阅读 · 0 评论 -
python矩阵置零(leetcode)
给定一个m x n 的矩阵, 如果一个元素为0,则将其所在的行和列所有元素都设为0,请使用原地算法。思路:使用一个列表记录等于零的坐标,然后进行替换class Solution01: def setZeroes(self, matrix): tmp = [] for i in range(len(matrix)): for j in range(len(matrix[0])): if matrix[i][.原创 2021-11-21 22:40:08 · 868 阅读 · 0 评论 -
python 多维数组转一维数组
二维转一维数组的方法很多,使用numpy ,sum 好多方法可以实现。例如:arr = [[1,2,3],[4,5,6]]# 方法一print([item for i in arr for item in i])# 方法二from functools import reduceprint(reduce(lambdax,y:x+y,arr))# 方法三print(sum(arr,[]))多维转一维def exchange_one_arr(item, res:list): .原创 2021-11-20 13:02:46 · 1820 阅读 · 0 评论 -
python 寻找两个正序数组的中位数(leetcode)
给定两个大小分别为m和n 的正序(从小到大)数组nums1 和nums2.请你找出并返回这两个正序数组的中位数。算法是时间复杂度应该为o(log(m*n))解法一使用python 的库函数解决class Solution1: def findMedianSortedArrays(self, nums1, nums2) -> float: nums1.extend(nums2) length = len(nums1) nums1.s.原创 2021-11-20 12:00:39 · 688 阅读 · 0 评论 -
python 检测大写字母(leetcode)
我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如 “USA” 。单词中所有字母都不是大写,比如 “leetcode” 。如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。解法一使用python 字符串的原生方法class Solution01: def detectCapitalUse(self,word): return word.原创 2021-11-13 18:26:47 · 2129 阅读 · 0 评论 -
python 商品折扣后的最终价格(leetcode)
给你一个数组prices,其中prices[i] 是商店里第i件商品的价格。商店里正在进行促销活动,如果你要买第i件商品,那么你可以得到与prices[j]相等的折扣,其中j是满足j > i且prices[j] <= prices[i]的最小下标,如果没有满足条件的j,你将没有任何折扣。请你返回一个数组,数组中第i个元素是折扣后你购买商品i最终需要支付的价格。解法一思路遍历找到该数,然后减去折扣。代码如下:class Solution: def finalPrice.原创 2021-11-13 17:00:02 · 2253 阅读 · 0 评论 -
python 下一个更大的元素(leetcode)
给你两个没有重复元素的数组nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出nums1 中每个元素子在nums2 中的下一个比较大的值。nums1 中数字x 的下一个更大元素是指nums2 中对应位置的右边的第一个比x 的元素。如果不存在,对应位置输出-1。解法一遍历查找代码如下:class Solution1: def nextGreaterElement(self, nums1, nums2): res = [] .原创 2021-11-11 23:04:50 · 867 阅读 · 0 评论 -
颜色分类python(leetcode)
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。- 解法一思路: 哈希计数,拷贝回去。代码如下:class Solution: def sortColors(self, nums): countEle = {i: 0 for i in nums} for i in nums: co.原创 2021-11-08 23:31:15 · 846 阅读 · 0 评论 -
数组中每个数的最近的最小值(python)
给定一个不含有重复值的数组arr,找到每一个i位置左边和右边离i位置最近且值比arr[i] 小的位置,返回所有位置相应的信息。- 解法一普通解法,在当前位置往左和右分别遍历。- 代码如下class GetNearLessNoRepeat(object): def getNearLessNoRepeat(self,arr): res = [] for i in range(len(arr)): # left .原创 2021-11-07 11:07:20 · 441 阅读 · 0 评论 -
滑动窗口的最大值python (leetcode)
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值.解法一思路双指针,python 的写法class Solution: def maxSlidingWindow(self, nums, k: int): if not nums or k == 0: return nums res = [] for i in range(k, len(arr) + 1): res.app.原创 2021-11-06 18:24:34 · 250 阅读 · 0 评论 -
python 键盘行 (leetcode)
给你一个字符串数组words,只返回可以使用在美式键盘同一行的字母打印出来的单词。键盘如下图所示。美式键盘中第一行由字符"qwertyuiop" 组成第二行由字符 “asdfghjkl” 组成。第三行由字符 “zxcvbnm” 组成。解法一思路: 统计每一个单词的每一个字母是在同一行的计数是否与单词个数相等。如果相等则存入列表中。代码实现如下:class Solution: def findWords(self, words): key1 = "qwertyu.原创 2021-10-31 22:20:24 · 315 阅读 · 0 评论 -
全排列二 python (leetcode)
给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。递归,使用hash 计数去重代码如下:class Solution: def permuteUnique(self, nums: List[int]) -> List[List[int]]: def permute(nums,start,end,res): if start == end: res.append(nums[:]) .原创 2021-10-31 19:27:32 · 216 阅读 · 0 评论 -
字串和子序列(python)
字符串的字串,就是和顺序相关的。子序列和顺序没有关系,对于一个字符来说可以要也可以不要。字串的实现class Substring(object): """字串""" def substring(self, str): length = len(str) res = [] for i in range(length): string = "" for j in range(i, len.原创 2021-10-31 15:31:40 · 437 阅读 · 0 评论 -
全排列(leetcode)
给定一个没有重复数字的序列,返回器所有可能的全排列回溯代码如下:class Solution: def permute(self, nums): def backtrack(first=0): if first == n: res.append(nums[:]) for i in range(first,n): nums[first],nums[i] = nums.原创 2021-06-01 00:29:31 · 192 阅读 · 0 评论 -
在排序数组中查找元素的第一个和最后一个位置(leetcode)
给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]示例1:nums = [5,7,7,8,8,10], target = 8- 解法一思路 : 记录目标值第一次出现的下标值,和目标值出现的次数。- 代码如下class Solution: def searchRange(self, nums, target): first = 0 c.原创 2021-10-27 22:46:38 · 3587 阅读 · 0 评论 -
tkinter 放置按钮的方法
tkinter 放置组件,有三种放置方式,place,grid,pack代码如下:import tkinter as tkclass Position(object): def __init__(self): self.window = tk.Tk() self.window.title("Position") self.window.geometry("300x400") def run(self): # .原创 2021-10-24 13:42:02 · 635 阅读 · 0 评论 -
python Excel表序号(leetcode)
给你一个字符串columnTitle,表示Excel 表格中的列名称,返回该列名称对应的序列号。代码如下:class Solution: def titletoNumber(self, columnTile): words = {chr(i + 65): i+1 for i in range(26)} res = 0 length = len(columnTile) for i in range(length): .原创 2021-10-14 22:17:58 · 293 阅读 · 0 评论 -
python多数元素(leetcode)
给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于[n/2]的元素,你可以假设数组是非空的,并且给定的数组总是存在多数元素。思路: 计数取出最大的,因为必然存在。class Solution: def majorityElement(self, nums): target = len(nums)//2 tmp = {} for i in nums: if i in tmp: .原创 2021-10-12 23:09:26 · 373 阅读 · 0 评论 -
python 电话号码的字母组合(leetcode)
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回给出数字到字母的映射如下(与电话按键相同)。注意1 不对应任何字母。class Solution: def letterCombinations(self, digits: str): """字母组合""" key = { '2': ['a', 'b', 'c'], '3': ['d', 'e', 'f'], .原创 2021-10-10 17:14:02 · 230 阅读 · 0 评论 -
python 把py文件打包成wheel文件
有时需要离线安装python包时,你就可以把你下载的源码包打包成.whl 的文件分享给别人。下载源码包或者自己写的py文件。我以tcping-0.1 这个包为例子进行演示安装打包的所需要的包pip install wheelpip install twine在需要打包的setup.py 所在的目录,执行如下命令python setup.py bdist_wheel会在当前目录生成如图的文件在dist 目录下就是打包好的.whl 文件。如图就可以 pip.原创 2021-10-09 22:11:07 · 1107 阅读 · 0 评论 -
python 中列表、栈和队列的互相转化
列表到队列class Queue: def __init__(self): self.arr = [] def push(self, num): """入队""" self.arr.append(num) def peek(self): if not self.arr: raise Exception("the Queue is empty") return self.arr原创 2021-10-07 12:36:58 · 1202 阅读 · 0 评论