python
文章平均质量分 53
shangyj17
这个作者很懒,什么都没留下…
展开
-
python-使用列表创建字典
0.摘要本文主要介绍如果将两个列表作为键-值,快速创建字典。 1.使用列表快速生成字典的#推荐方式:key_list = ['D', 'U', 'B', 'X', 'G', 'M', 'K', 'Y', 'H', 'W']value_list = [68, 85, 66, 88, 71, 77, 75, 89, 72, 87]dict1 = dict(zip(key_lis...原创 2018-10-22 19:49:02 · 30661 阅读 · 0 评论 -
python-基础教程-pprint
0.摘要当我们打印很长的数组时,尤其是二维数组,显示出来的内容查看起来很不方便,本文介绍pprint模块中的pprint方式,能够更加友好地显示内容。 1.打印二维数组from pprint import pprintimport numpy as npn1 = np.arange(100).reshape([10,10]).tolist()print('Normal p...原创 2018-12-09 19:19:26 · 406 阅读 · 0 评论 -
python-进阶教程-根据字段将记录分组
0.摘要根据数据中某一元素对数据进行分类是常会遇到的问题,本文通过介绍itertool.groupby()函数,根据字典中某一个值把数据进行分类。 1.itertool.groupby()函数rows = [ {'address': '5412 N CLARK', 'date': '07/01/2012'}, {'address': '5148 N CLARK',...原创 2018-12-09 21:48:47 · 1141 阅读 · 0 评论 -
jupyter-kernelRestart:restart failed
问题:jupyter运行程序一直卡住,返回terminal查看到了以下信息:经过查找,找到了解决方案:https://blog.csdn.net/qq_39796249/article/details/82897970解决:pip install --upgrade ipykernel更新后,成功运行了程序。...原创 2018-12-10 20:37:49 · 769 阅读 · 0 评论 -
python-progress-进度条
0.摘要本文主要介绍在python3环境下使用progress库显示程序运行进度条。python3中安装progress:pip install progressbar2python2中安装progress:pip install progressbar 1.三个步骤progressbar的基础步骤为:start,update,finishstart(max_value...原创 2018-12-16 23:42:39 · 3453 阅读 · 0 评论 -
python-长数据完整打印方法
0.摘要python中的长数据在打印的时候,往往为了方便阅读会进行省略操作,但这会对我们查看数据带来不便。本文主要介绍完整显示长数据的方法。1.numpy数据不同类型的数据的完整显示方法各有不同,我们先介绍numpy数组的输出设置方法:在输出位置前加入 如下代码:import numpy as npnp.set_printoptions(threshold=np....原创 2018-12-10 22:06:54 · 81714 阅读 · 2 评论 -
Python-numpy.searchsorted()
0.函数定义searchsorted(a, v, side='left', sorter=None) Find indices where elements should be inserted to maintain order. Find the indices into a sorted array `a` such that, if the correspondin...原创 2018-12-21 17:46:20 · 2263 阅读 · 1 评论 -
Python-matplotlib-入门教程(一)-基础图表绘制
0.摘要本教程主要介绍使用python第三方库matplotlib绘制各种统计图表,教程从简单到复杂,逐步递进。本章主要介绍常见图表的绘制方法,并以尽可能简单的方式实现,主要以突出函数功能为目的,防止读者被复杂的参数分散了注意力。鉴于函数的参数的相似性,读者只需要知道参数的含义并结合help命令即可掌握。常用参数将在后续章节中进行统一介绍,帮助读者记忆。附官网教程链接:https://...原创 2018-12-11 21:06:29 · 587 阅读 · 0 评论 -
Python-matplotlib-入门教程(二)-plot-figure设置
0.摘要本文主要介绍使用matplotlib画图时使用的配置方法,并对配置参数进行解释。 1.pyplot.figure()用于创建一个新的图。函数参数如下:figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'm...原创 2018-12-12 01:41:32 · 1466 阅读 · 0 评论 -
python-进阶教程-使用对象属性进行排序
0.摘要python中的类通常不支持比较操作,但是我们可以依据类的属性值进行排序。本文主要介绍使用operator.attrgetter()方法获取类的属性值,从而完成排序。 1.operator.attrgetter()方法from operator import attrgetterclass User: def __init__(self, user_id)...原创 2018-12-09 19:10:16 · 519 阅读 · 0 评论 -
python-进阶教程-通过公共键对字典列表排序
0.摘要本文主要介绍基于operator.itemgetter()函数通过公共键对字典列表排序的方法,并对operator.itemgetter()做一定介绍。 1.对字典列表排序rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Beaz...原创 2018-12-09 18:18:36 · 144 阅读 · 0 评论 -
python-基础语法-collections
0.摘要本文主要介绍python3中collections模块的使用方法,并给出具体应用实例。Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型:namedtuple(): 生成可以使用名字来访问元素内容的tuple子类 deque: 双端队列,可以快速的从...原创 2018-12-09 15:15:41 · 230 阅读 · 0 评论 -
python-进阶教程-heapq模块及优先级队列的实现
0.摘要本文主要介绍heapq模块提供的主要函数方法。 1.nlargest()和nsmallest从字面意思就可以知道heapq.nlargest(n, iterable, key=None) :返回可枚举对象中的 n 个最大值heapq.nsmallest(n, iterable, key=None) :返回可枚举对象中的 n 个最小值。import heapq...原创 2018-12-08 13:37:20 · 947 阅读 · 0 评论 -
python-进阶教程-找出字典中值最大(最小)元素的n种方法
0.摘要字典作为存储“键值对”的数据结构,往往不能直接进行计算,需要借助额外的方法。本文主要介绍多种方法,实现根据字典的值进行最大值、最小值和排序等计算。 1.使用dict.values()方法dict.values()方法可以直接提取出字典的值,并存放在单独的字典列表中。最大值、最小值和排序等计算可以都只要针对该列表进行即可。prices = { 'ACME'...原创 2018-12-08 18:40:25 · 25040 阅读 · 1 评论 -
python-进阶教程-对两个集合/字典求交集、差集、并集
0.摘要本文主要介绍在python3环境下,对集合和字典求交集、差集、并集的方式。在python2环境下,字典中的对象需要先转换为集合。 1.集合a = set([1,2,3,4,5,100,1000])b = set([1,2,3,4,5,128.1024])#交集print(a & b) #{1, 2, 3, 4, 5}#差集print(a ...原创 2018-12-08 21:59:21 · 26292 阅读 · 2 评论 -
python-进阶教程-从序列中移除重复项并保持元素顺序不变
0.摘要本文主要介绍去除序列中重复的元素,并保持剩下元素顺序不变的方法。 1.转set()如果只想去除重复元素,而不关心顺序问题,可以将序列转为set,从而达到简单快速去重的效果。a = [1,2,3,4,5,6,5,4,3,2,1,7,8,9]a = list(set(a))print(a)#result:[1, 2, 3, 4, 5, 6, 7, 8, 9]再次...原创 2018-12-08 23:02:28 · 1502 阅读 · 0 评论 -
python-进阶教程-数据结构的分解
0.摘要本文主要介绍python中常用数据结构的分解方法。 1.可迭代对象分解为多个变量任何可迭代对象都可以通过简单的赋值操作分解为单独的变量,唯一的要求是变量的总数和结构要与可迭代对象相吻合。数量不匹配会报错。data = [2018,'December',6,'Thursday']year, month, day, weekday = dataprint(year...原创 2018-12-07 21:45:08 · 227 阅读 · 0 评论 -
python-进阶教程-对切片进行命名
0.摘要编程中经常需要对数据进行切片分割,比如编码文件,但索引的切片方式缺乏直观性。本文介绍一种对切片命名的方法,从而使得切片信息直观易懂。 1.对切片进行命名items = [1,2,3,4,5,6,7,8,9]odd = items[0:9:2]even = items[1:9:2]print(odd,even)#result:[2, 4, 6, 8] [3, ...原创 2018-12-09 17:05:20 · 438 阅读 · 0 评论 -
Python-matplotlib-入门教程(四)-颜色管理
0.摘要本文主要介绍使用matplotlib绘图过程中的颜色管理,使得图表更具表现力。 1.颜色颜色的配置方式有三种:字母、十六进制、RGB(或RGBA)(1)常用颜色配置:颜色-字母对照表 颜色 简写 全称 蓝 b blue 蓝绿 c cyan 绿 g green 黑 k bla...原创 2018-12-12 01:42:56 · 1061 阅读 · 0 评论 -
Python-matplotlib-入门教程(三)-线形管理
0.摘要本文主要介绍使用matplotlib绘图过程中的线形管理。1.标准线形线形 符号 实线 - 短线 -- 点线 -. 虚线 : import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0,10,100)y1 = xy2 = x + 1y3...原创 2018-12-12 01:42:31 · 142 阅读 · 0 评论 -
python-time模块
0.摘要本文主要介绍python中time模块中的方法。 1.获取当前时间import timeprint(time.time()) #1550236531.8000307time.time()返回的是当前时间的时间戳,并以浮点秒数显示(计时起点为1970纪元) 2.以标准格式显示time localtime([seconds]) 作用是格式化时间戳为本地的...原创 2019-02-15 22:42:58 · 186 阅读 · 0 评论 -
python-datetime模块简介
0.摘要本文主要介绍datetime模块中五个核心对象:datetime(时间日期类型), date(日期类型), time(时间类型), tzinfo(时区类型),和timedelta(时间差类型),并介绍利用datetime模块进行时间运算的方法。 1.datetimedatetime对象可以用来表示精确的日期和时间,在实例化datetime对象时,year, month, d...原创 2019-02-16 16:49:01 · 380 阅读 · 0 评论 -
python-报错:ValueError: setting an array element with a sequence.
报错场景:一般在使用numpy.reshape(a,new_shape)函数时出现;报错信息:ValueError: setting an array element with a sequence.原因:被转换列表a中存在异常序列import numpy as npa1 = [1,2,3,4,5,6,7,8,9]b1 = np.reshape(a1,(3,3)) ...原创 2019-03-03 22:25:43 · 35700 阅读 · 2 评论 -
python-numpy中size、shape和len的区别
import numpy as npa = np.zeros(shape=(3,4,5))# 返回a列表的元素总数:60print(a.size)print(np.size(a))# 返回a列表的维度大小:(3,4,5)print(a.shape)print(np.shape(a))# 返回a列表的第一维大小:3print(len(a))...原创 2019-03-04 14:12:53 · 7797 阅读 · 0 评论 -
python-numpy数组的csv文件写入与读取
0.摘要本文主要介绍numpy库中,csv文件中数据的写入和读取方式。1.文件写入与读取写入:import numpy as npa = np.arange(0,10000).reshape(100,100)np.savetxt("temp.csv", a, delimiter=",")读取:b = np.loadtxt("temp.csv", delimi...原创 2019-03-16 20:07:48 · 35300 阅读 · 0 评论 -
numpy.ndarray-元素的快速筛选
例如,快速筛选出列表中的非负数。import numpy as npa = np.random.randint(-10,10,5)print("a = ", a)b = [a >= 0 ]print("b = ", b)c = a[b]print("c = ", c)原创 2019-03-31 15:18:19 · 2847 阅读 · 0 评论 -
python-十进制转二进制-带符号位-固定位宽
0.摘要本文主要介绍,如何将十进制数,转换为带符号位且位宽固定的二进制数值。这种转换关系,通常用在基于二进制运算的硬件上。1.前言负数,在计算机里是以补码的形式存在的,原码取反-->+1;正数,在计算机里补码与原码完全相同。因此,在计算中,二进制的计算都是基于补码进行的,结果也是以补码进行表示。2.实现def dec2bin(dec_num, b...原创 2019-04-01 17:13:48 · 5688 阅读 · 2 评论 -
如何利用Notepad++运行python程序
0.摘要在安装了python的环境下,使用Notepad++也可以运行python程序。1.Notepad++的配置step1:在Notepad++中编写一个hello world程序。step2:点击运行选项中的运行栏,或者直接按F5。step3:输入命令,并运行:cmd /k C:\Python\Python36\python.exe "$(FULL_C...原创 2019-05-01 22:55:54 · 5760 阅读 · 1 评论 -
python-enumerate()函数
0.摘要python中的enumerate()函数为枚举函数,能够将数字与可迭代变量中的元素快速打包成一个元组。1.功能介绍enumerate(iterable[, start]) -> iterator for index, value of iterableiterable:可迭代对象,列表、numpy.array、元组、字符串等。start:数字编号起点,默认...原创 2019-04-24 20:16:43 · 392 阅读 · 0 评论 -
Python-matplotlib-中文字体显示和设置
0.摘要在matplotlib绘图过程中,中文的标题或者轴标中如果含有中文,会出现不能正常显示的问题。本文主要介绍在Windows系统下,matplotlib库中的中文字体显示方法和相关配置。 1.全局设置#!/usr/bin/python# -*- coding: utf-8 -*-import numpy as npimport matplotlibimport ...原创 2019-01-11 15:12:13 · 35965 阅读 · 9 评论 -
python-进阶教程-多个字典(映射)的合并
0.摘要当我们处理多个字典(或称为映射,因为字典是Python中唯一的映射结构),可以通过将多个字典合并为一个字典的方式实现批量处理。 1.ChainMap类a = {'x': 1, 'z': 3 } b = {'y': 2, 'z': 4 } ...原创 2019-01-01 22:37:37 · 5492 阅读 · 0 评论 -
正则表达式-字符速查表
0.摘要本文主要介绍正则表达式的字符速查表,只对字符进行分类和简要说明,不做过多说明。1.非打印字符字符 描述 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n ...原创 2019-04-30 16:58:13 · 272 阅读 · 0 评论 -
python中的hashable(可哈希的)是什么意思
不严谨但易懂的解释:一个对象在其生命周期内,如果保持不变,就是hashable(可哈希的)。hashable ≈ imutable 可哈希 ≈ 不可变在Python中:list、set和dictionary 都是可改变的,比如可以通过list.append(),set.remove(),dict['key'] = value对其进行修改,所以它们都是不可哈希的;而tup...原创 2018-12-29 23:29:36 · 30977 阅读 · 4 评论 -
python-进阶教程-对列表中的元素进行筛选
0.摘要本文主要介绍根据给定条件对列表中的元素进行筛序,剔除异常数据,并介绍列表推导式和生成表达式两种方法。。1.列表推导式(list comprehension)mylist = [1, 2, 3, -4, -5, 6, 7, 8, 9]positive_list = [n for n in mylist if n > 0 ]print(positive_list)...原创 2018-12-30 17:26:17 · 28504 阅读 · 0 评论 -
python-进阶教程-使用正则表达式拆分多重分隔符字符串
0.摘要字符串自带的.split()方法只能应对单一分隔符的情况,本文介绍正则表达式的方法可以满足对多重分隔符分离要求,并且能够处理更为复杂的字符串。 1.re.split()split(pattern, string, maxsplit=0, flags=0):该函数会按照pattern的形式对string进行分割,pattern通常以正则表达式编写,用于说明分隔符的匹配样式。...原创 2019-01-04 22:21:01 · 3050 阅读 · 3 评论 -
python-os.listdir()
os.listdir(path)用于获取path目录下,所有文件和文件夹的名称,并按照字母顺序存入返回值列表中。path可以为空,为空时默认为当前路径;可以返回隐藏文件名和隐藏文件夹名;在Linux中,不返回“.”和“..”这两个文件夹名。import osdir_list1 = os.listdir('.') #当前目录下的文件名和文件夹名dir_list2 = os...原创 2019-01-04 23:09:33 · 2109 阅读 · 1 评论 -
python-进阶教程-利用通配符进行字符串匹配
0.摘要在Linux Shell中,我们可以用ls *.py的命令显示所有以.py结尾的文件或文件夹。在python中我们可以借助fnmatch模块,实现含通配符的字符串匹配。 1.常用通配符符号 作用 * 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls f...原创 2019-01-11 14:19:57 · 32430 阅读 · 0 评论 -
python-进阶教程-字典中提取子集
0.摘要本文主要介绍从字典中提取子集的方法。 1.字典推导式(dictionary comprehension)# example of extracting a subset from a dictionaryfrom pprint import pprintprices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM':...原创 2019-01-01 20:45:51 · 1742 阅读 · 0 评论 -
Windows下的python3和pip3安装与配置
1.python3安装从官网下载安装包并点击安装即可。官网:https://www.python.org/安装路径:可以自定义安装路径(路径建议为全英文),也可以使用默认的安装路径,默认安装路径一般为C:\Users\shangyj\AppData\Local\Programs\Python\Python37-322.python环境变量配置为了保证python和pi...原创 2019-09-27 11:38:48 · 47735 阅读 · 2 评论 -
python3-实现atoi()函数
0.摘要本文介绍c语言中的atoi函数功能,并使用python3实现。 1.atoi()函数atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数。函数定义形式:int atoi(const char *nptr);函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进),直到遇上数字或正负符号才开始做转换;在遇到非数字或...原创 2018-10-22 16:21:10 · 7384 阅读 · 0 评论