随笔分类 - PYTHON基础及算法
摘要:创建 conda create -n env1 python=3.8.8 #激活# To activate this environment, use## $ conda activate env1# #退出# To deactivate an active environment, use## $
阅读全文
摘要:def make_print_to_file(path='./'): ''' path, it is a path for save your log about fuction print example: use make_print_to_file() and the all the info
阅读全文
摘要:0 numpy概述 NumPy是Python中科学计算的基础包。 它是一个Python库 提供多维数组对象,各种派生对象(如掩码数组和矩阵 提供对数据/数组各种操作 1. numpy数据类型 numpy的数据类型和c语言中的数据类型实现并不一样 可以理解对基础数据类型的优化和升级 一切为了快速处理大
阅读全文
摘要:参考地址有: https://www.cnblogs.com/xiao987334176/p/9995976.html https://www.jianshu.com/p/9ad7db7825ba https://blog.csdn.net/xtfge0915/article/details/834
阅读全文
摘要:import urllib2 from multiprocessing.dummy import Pool as ThreadPool urls = [ 'http://www.python.org', 'http://www.python.org/about/', 'http://www.onla
阅读全文
摘要:argparse是一个常用的库函数,使用它的时候我们在命令行中不仅仅可以运行python文件,更可以零时调整参数,十分方便。 首先,如果你只是希望传一丢丢数据进去,那么只看下面两行就行了 import sys print("输入的参数为:%s" % sys.argv[1]) >python demo
阅读全文
摘要:人脸识别face recognition 0 简介 人脸识别大致分为如下三个部分: 人脸检测 face detection人脸对齐 face alignment人脸识别 face recognition,包括: face verification:两张图片相似程度。face identificati
阅读全文
摘要:from payjs import PayJS # 也可根据个人习惯选择使用 Payjs/PAYJS/payjsfrom payjs import PayJSNotify # 也可根据个人习惯选择使用 PayjsNotify/PAYJSNotifyMCHID = '这里是商户号'KEY = '这里是
阅读全文
摘要:# 快速上手:分词、词性标注、命名实体识别import jiagu# jiagu.init() # 可手动初始化,也可以动态初始化text = '厦门明天会不会下雨'words = jiagu.seg(text) # 分词print(words)pos = jiagu.pos(words) # 词性
阅读全文
摘要:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序
阅读全文
摘要:希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。 def shellSort(arr): n =
阅读全文
摘要:计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 def countSort(arr): output = [0 for i in range(256)] count = [0 for i in rang
阅读全文
摘要:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。 def heapify(arr, n, i): largest = i l
阅读全文
摘要:#!/usr/bin/python3 # -*- coding: utf-8 -*- import itertools class cartesian(object): def __init__(self): self._data_list=[] def add_data(self,data=[])
阅读全文
摘要:归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 分治法: 分割:递归地把当前序列平均分割成两半。 集成:在保持元素顺序的同时将上一步得到的子序列集成到一起(归并)。
阅读全文
摘要:冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。 def bu
阅读全文
摘要:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 实例 import sys A = [6
阅读全文
摘要:快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。 步骤为: 挑选基准值:从数列中挑出一个元素,称为"基准"(pivot); 分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准
阅读全文
摘要:插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 def insertionSort(arr): for i in range(1, len(arr)): key = arr[i]
阅读全文
摘要:线性查找指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 def search(arr, n, x): for i in range (0, n): if (arr[i] == x): return i; return -1; # 在数组 arr 中查找字符 D arr = [ '
阅读全文