![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
xinming_365
这个作者很懒,什么都没留下…
展开
-
图像旋转90度。
题目描述给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。题解这个题目搞了一个多小时。思路已经想好了难在两个循环的次数上。我的思路跟官方的不太一样。因为需要原地转换,所以只能想到交换。注意交换规则是matrix[row][col]=matrix[col][n−row−1]matrix[row][col] =matrix[col][n-row-1]matri原创 2022-01-18 19:06:03 · 678 阅读 · 0 评论 -
python 处理xml文件
XML可扩展标记语言(eXtensible Markup Language),被设计用来传输和存储数据。<?xml version="1.0" encoding="UTF-8"?><note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!原创 2020-10-13 00:12:59 · 1737 阅读 · 1 评论 -
python的并行计算
pool模块pool类能够提供指定数量的进程,供用户调用。当有新的请求提交到pool中时,如果池还没有满,就会创建一个新的进程来执行请求。如果池满,请求就会告知先等待,知道池中有进程借书,才会创建新的进程来执行这些请求。apply()-该函数用于传递不定参数,同python中的apply函数一致,主进程会被阻塞知道函数执行结束。3.x之后不再出现map()map(func, iterable[, chunksize=None])Pool类中的map方法,与内置的map函数用法基本一致,它原创 2020-10-07 21:40:07 · 553 阅读 · 0 评论 -
yaml使用
yaml简介最近看代码,觉得大的工程都会使用单独使用配置文件,进行变量的声明和配置,而很多都是以yaml文件的形式保存。yaml是一种非常灵活的格式,几乎是json的超集。除了支持注释、换行符分隔、多行字符串、裸字符串和更灵活的类型系统之外,YAML 也支持引用文件,以避免重复代码。yaml语法规则基本规则:大小写敏感使用缩紧表示层级关系; 例如key:(空格)value,表示一个键值对,空格不可以省略。缩进时不允许使用Tab键,只允许使用空格缩紧的空格树木不重要,只要相同层级的元素左侧对齐原创 2020-09-03 18:00:59 · 213 阅读 · 0 评论 -
argparse模块
使用argparse的第一步是先创建一个ArgumentParser对象,ArgumentParser对象包含了将命令行解析成为Python数据类型所需要的全部信息。创建过程如下:parser = argparse.ArgumentParser(description=‘Process some integers.’)位置参数和可选参数位置参数在学习argparse模块的时候,搞清楚命令行位置参数和可选参数这两个概念十分有必要。基于位置的参数,参数的出现不需要前缀(以 - 或 – 开头的),而且原创 2020-08-25 15:29:09 · 291 阅读 · 0 评论 -
Python函数的特殊属性
Python 的函数特殊属性__doc__用于获取函数的文档说明,如果没有,则反悔None。__name__获取函数的名称例如:In [72]: def demo(a:3,b:'str') -> int: ...: return aIn [77]: demo.__name__Out[77]: 'demo'__qualname__获取函数的qualname,点示法显示函数名称、所在的类、模块等梯级地址。__module__返回函数所在的模块,如果无则返回None原创 2020-08-11 15:40:05 · 612 阅读 · 0 评论 -
多进程multiprocessing模块
介绍multiprocessing 是一个用于产生进程的包,具有与 threading 模块相似API。 multiprocessing 包同时提供本地和远程并发,使用子进程代替线程,有效避免 Global Interpreter Lock 带来的影响。因此, multiprocessing 模块允许程序员充分利用机器上的多核。可运行于 Unix 和 Windows 。Unix/Linux实现多进程Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返原创 2020-05-10 01:58:08 · 645 阅读 · 0 评论 -
virtualenv
现在python版本众多,而各个版本跟其他的库之间又存在诸多依赖关系。当我们想完成某个任务搭建一个python环境,切忌直接在系统python环境上进行,否则会造成很严重的事故。所以此时使用虚拟的隔离出的python运行环境就会显得很有必要。即:virtualenv。安装pip3 install virtualenv创建创建一个新的目录,然后使用virtualenv创建一个独立的pyth...原创 2020-01-07 20:54:53 · 193 阅读 · 0 评论 -
迭代器,生成器和yield使用
迭代器和生成器python允许用户自定义迭代器。需要定义下面两个方法:_iter_()返回迭代器对象本身_next_()从容器中返回下一项,如果没有项可以返回,会引发StopIteration异常。例如:class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self...原创 2019-12-30 15:06:16 · 226 阅读 · 0 评论 -
pyhon参数传递问题
最近使用python写代码,突然遇到形参传递给函数后,在函数内部修改完改形参,发现实参变量也随着改变的问题。后来一查,才了解到可变对象和不可变对象的区分,以及通过copy办法解决这个问题。python参数传递python中,如果把数字、字符串传入到函数中。在函数内部改变其值,当函数运行结束时,该变量不会发生改变。In [1]: def sum(a,b): ...: print(...原创 2019-05-12 13:32:34 · 139 阅读 · 0 评论 -
python中 *args和**kwargs
参数个数可变为什么我们会使用*args和**kwargs表示输入的参数呢?因为当参数个数不确定的时候,不能够使用基于位置的参数表示方式,我们会使用(*args, **kwargs)来自动适应变参数和命名参数。这意味着,我们想往函数中输入多少个参数都行,分别以元组形式,字典形式传递参数。def test(*args,**kwargs): print(type(args),args) ...原创 2019-05-20 15:39:59 · 266 阅读 · 0 评论 -
python列表方法,append(),del()
创建一个列表把不同数据项用逗号分隔开,使用方括号括起来即可。python列表的数据项可以有不同的类型。 list1 = [‘python’ ,’mathine learning’ , 123 ,456]访问列表使用 方括号+索引 进行访问。与字符串的索引一样,是从0开始的。 索引是负数的时候,表示倒数着截取 list1[0] 结果为:pyt原创 2017-12-08 18:48:00 · 1438 阅读 · 0 评论 -
python运算符in,is
成员运算符in 如果在指定的序列中找到了值返回True,否则返回False。not in 如果在指定的序列中没有找到值返回True,否则返回False。经常用在if判断的条件语句中。身份运算符is 判断两个标识符是不是引用自同一个对象。 x is y 类似于id(x) ==id(y),如果引用同一个对象,则返回True,否则返回False翻译 2018-01-21 00:02:22 · 908 阅读 · 0 评论 -
插入、冒泡排序算法python实现
插入排序插入排序的基本操作,是将一个数据插入有序的数据序列中,从而得到一个新的有序的序列。 算法的实现可看成,将数据列表分为两部分,第一部分已经排好序,把第二部分的每个数据逐次插入,每步插入已排序的文档,直至全部插入为止。class insertSort: list = [] def __init__(self,list): self.list = l...原创 2018-02-19 18:27:14 · 169 阅读 · 0 评论 -
选择排序算法 python实现
选择排序以升序为例,选择排序的基本思想是,选择一个基准数作为最小数,将剩下的数与之一一进行比较,如果有更小的数,则与基准数进行交换。基准数不断后移,重复上述步骤。 时间复杂度是O(n^2)。因为比较次数是 n−1+(n−2)+...+2+1=n∗(n−1)2n−1+(n−2)+...+2+1=n∗(n−1)2n-1+(n-2)+...+2+1=\frac{n*(n-1)}{2}clas...原创 2018-02-19 22:00:44 · 158 阅读 · 0 评论 -
python 中的map(),zip()函数以及表达式lambda用法
匿名函数lambda用法python中使用lambda来创建匿名函数。lambda只是一个表达式,拥有自己的命名空间,且不能访问自由参数列表之外或全局命名空间里的参数。lambda语法 lambda arg1,arg2… :expressionlambda表达式是起到一个函数速写的作用。例子:>>> sum = lambda x,y:x+y>...原创 2018-03-11 23:01:03 · 1460 阅读 · 0 评论 -
python的类和实例
类的定义方法使用关键字class,后面紧跟类名。类定义最简单的形式: class 类名: &lt;语句&gt;大多数类是从其他类继承而来的,同时也增加了自己的类方法。定义一个从其他类继承来的类时,只需要在类名后加上小括号,并列出父类名字。 class 子类(父类): &lt;语句&gt;子类继承了父类的所有属性和方法。类的初始化,使用了_ _ ini...原创 2018-06-11 21:27:19 · 188 阅读 · 0 评论 -
numpy函数使用(floor,seed,permutaion,reshape(参数-1))
numpy.floor()函数np.floor()返回不大于输入参数的最大整数。(向下取整)In [7]: n = np.random.randn(5) + 3In [8]: nOut[8]: array([ 3.09855111, 2.25077728, 2.24930416, 2.90145913, 3.57786296])In [9]: np.floor(n)Out[...原创 2019-01-18 21:15:35 · 422 阅读 · 0 评论 -
python OS文件/目录方法
创建文件目录os.mkdir()方法os.mkdir()方法用于以数字权限模式创建目录。默认的模式为0777(八进制)该方法没有返回值,语法格式如下:os.mkdir(path,mode)path–要创建的目录mode–为目录设置的权限数字模式os.makedirs()方法os.makedirs()方法用于递归创建目录。像mkdir(),但创建的所有intermediate-l...原创 2019-01-27 14:44:50 · 217 阅读 · 0 评论 -
python set操作
python的set和其他语言类似,是一个无序不重复元素集,基本功能包括关系测试和消除重复元素。集合对象还支持union(联合),intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.。与列表和元组不同,set集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。因此可以利用set的特点去除列表里原创 2018-01-21 20:41:41 · 1113 阅读 · 0 评论