python
python
ta叫我小白
学到老,活到老。
展开
-
实现数字到Excel中列序号的转换
Python实现:将给定的列数字转换为Excel中对应的列序号(字母名称)的功能。同时比较ChatGPT给出的代码方案。原创 2023-01-19 21:42:09 · 5342 阅读 · 0 评论 -
从蒙德里安的《纽约城一号》到我的《北京城七号》
抽象画派蒙德里安的大作《纽约城一号》被倒挂几十年?我用Python的turtle模块画一幅《北京城七号》。原创 2022-11-09 23:09:33 · 374 阅读 · 0 评论 -
一个研究生入学考试的数据结构算法题『 Python实现 』
这是一个某年的研究生入学考试数据结构算法题。需求:把一个数组(列表)中的所有奇数放在所有偶数的前面,要求时间复杂度为O(n),不申请额外的数据空间。原创 2020-07-03 15:48:58 · 554 阅读 · 0 评论 -
Python算法之『 神秘的堆排序』
1、为什么说堆排序很“神秘”?2、堆排序的Python实现原理。堆排序相较于其他常见的线性排序(冒泡、选择、插入、快排等),它比较不一样(我们不一样,不一样)。堆排序使用“堆”结构进行非线性排序,这里的堆就是数据结构里的二叉树,确切的说应该是【完全二叉树】。说到树结构,可能会想到二分法的“分治”思想,难道跟快排有些许关系?不!快排是使用了二分法的思想,但是没有使用二叉树的组织结构,数据还是线性列表的;而堆排序则不同。原创 2020-06-09 18:55:15 · 263 阅读 · 0 评论 -
Python算法之『 冒泡、选择、快速排序算法的时间性能比较』
关于冒泡、选择、快速排序算法的Python实现代码,此处不赘述,完整代码请查看:冒泡排序选择排序快速排序问题1:就这三种排序算法而言,快排是否是最优方案?问题2:冒泡和选择的时间复杂度相同,其时间性能表现是否真的相同(或者相差无几)?一、在数组的无序程度较高的情况下下面直接比较它们的时间性能,代码如下:if __name__ == '__main__': import numpy import time t = time.time...原创 2020-06-05 09:48:27 · 2085 阅读 · 0 评论 -
Python算法之『 简洁的快速排序』
def quick_sort(arr): """ 快速排序(二分法递归排序) 原理:取数组第一个数作为标志,小于它的所有数放在一个列表,大于等于它的放在另一个列表,然后递归处理这两个数组。 递归过程中会把列表越分越小,最小的列表中只包含一个数(二分法思想),小列表排好序后组合成一个列表即可。 时间复杂度:O(nlogn) :param arr: :return: """ if len(arr) > 1: .原创 2020-06-04 15:52:52 · 319 阅读 · 0 评论 -
Python算法之『 简洁的选择排序』
def select_sort(arr): """ 选择排序 原理:选择一个最大的数,放在最后,在剩余的数中再选择一个最大的数,放在倒数第二个位置,如此反复,直到最后一个也被选择了出来,排序结束。 时间复杂度:O(n^2) :param arr: :return: """ size = len(arr) for i in range(size): # 寻找最小值 min_value = arr[i] .原创 2020-06-04 15:42:05 · 299 阅读 · 0 评论 -
Python算法之『 简洁的冒泡排序』
def bubble_sort(arr): """ 冒泡排序 原理:从前向后,把相邻的两个数比较,如果前者大则交换,依次向后比较,一轮结束后,选出了最大值(在最后位置)。 在剩余的数列中继续如此操作,这样每次都选出了剩余数中的最大值,供需进行n轮。 时间复杂度:O(n^2) :param arr: :return: """ size = len(arr) for i in range(size): # 共需进行n轮 .原创 2020-06-04 15:39:06 · 322 阅读 · 0 评论 -
简单谈谈数据的归一化问题(Python)
几种简单的归一化案例原创 2020-06-03 16:14:45 · 4711 阅读 · 1 评论 -
Python lambda函数究竟是什么?
1、lambda是什么?2、编写一个接收lambda参数的函数原创 2020-05-18 16:43:03 · 4404 阅读 · 0 评论 -
Python wordcloud词云:源码分析及简单使用
关于Python版本的词云wordcloud模块的简单应用和源码分析原创 2020-05-14 16:51:22 · 5233 阅读 · 0 评论 -
Python的logging模块的使用及思考:服务器程序把每天的log写入到当天的log文件中
需求:一个Python服务器程序,可能会连续运行几个月,现在需要把每天产生的log信息写入到当天的文件中,即每天产生一个log文件。使用logging模块编写程序,第一个版本如下:import loggingimport timeclass LogSingleton(object): @classmethod def get_logger_v1(cls): ...原创 2020-04-18 15:52:13 · 596 阅读 · 2 评论 -
使用pyecharts绘制中国历代都城的分布图
闲来无事,使用Python版本的echarts绘制中国历代(夏~清)都城分布图:图中不同颜色代表不同城市被定为都城的次数。数据不完整,仅仅做个demo吧。注意:不同版本的pyecharts差异较大,最新版本的需要使用 “from pyecharts.charts import Map, Geo”,这里使用的是比较老的版本。from pyecharts import Geo# ...原创 2020-03-28 14:56:10 · 984 阅读 · 0 评论 -
关于OpenCV的图像矩阵拼接(Python版本)及numpy.concatenate函数介绍
Python、numpy、opencv功能:给定任意大小的两个图片(矩阵),水平连接成一个图片(矩阵)。高度不同时,使用黑色作为高度较小者的边缘填充,图片垂直居中。原创 2020-03-27 10:49:18 · 2286 阅读 · 0 评论 -
关于Python线程的Event事件机制
关于threading.Event(线程阻塞事件)的3个方法的介绍和使用原创 2020-03-25 14:06:47 · 731 阅读 · 0 评论 -
Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui
Python程序运行时,打开了多个窗口,使用win32gui模块可以设置指定的某一个窗口为当前活动窗口。import re, timeimport webbrowserimport win32gui, win32con, win32com.clientdef _window_enum_callback(hwnd, wildcard): ''' Pass to win...原创 2020-03-23 11:05:58 · 16307 阅读 · 0 评论 -
一个关于随机分组需求的Python方案与思考
需求描述:这是一个实际生活中遇到的需求,一共有8个人需要在一周的5个工作日值班,每天都需要5个人完成值班任务,其中有一个人是个组长。要求组长在这5天里一共值班4次,其他人员均值班3次,每天的5个值班人员是8个人中的5人随机组合。分析:乍一看,好像有点无从下手,咱们细细分析就可以这样考虑,我们假设每个人都有分身术,组长一共有4个分身,其他人均有3个分身,这时正好25个人,组合后正好...原创 2020-02-22 12:46:51 · 1691 阅读 · 0 评论