Python编程基础
文章平均质量分 60
北木.
交流分享,共同成长
展开
-
Python编程基础知识点
文章目录1. 修改字符串的大小写2. 合并字符串用“+”即可3. 使用“\t”来增加空白格4. 删除空白格5. 列表中插入、删除元素6. 列表排序7. reverse反转列表8. 复制列表9. 列表中的元素可修改,而元组中的元素无法修改10. 字典添加键值对11. 删除字典中的键值对12. 遍历字典中的元素13. 使用input函数输入数据1. 修改字符串的大小写name = "ada loveLace"print(name.title()) # 首字母大写,其余字母小写print(name.l原创 2021-03-25 18:00:27 · 461 阅读 · 2 评论 -
Python中List、Set与Map三者之间的区别
区别1:List中可添加重复的元素Set中不可添加重复的元素Map中键不可以重复但是值可以重复区别2:List和Set是存储单列数据的集合,Map是存储键值对的双列数据的集合;Python中的map()函数用法:map(function, iterable, …)参数function: 传的是一个函数名,可以是python内置的,也可以是自定义的。参数iterable :传的是一个可以迭代的对象,例如列表,元组,字符串…功能: 将iterable中的每一个元素执行一原创 2021-03-23 15:38:21 · 2660 阅读 · 0 评论 -
np.clip类比 tf.clip_by_value
功能类比tf.clip_by_value —— 实现值域控制np.clip各参数作用:参数如下:np.clip( a, a_min, a_max, out=None)参数解释:a:输入矩阵;a_min: 矩阵a中所有比a_min小的数都会强制变为a_min;a_max:矩阵b中所有比a_max大的数都会强制变为a_max;out:可以指定输出矩阵的对象,shape与a相同np.clip函数功能:将数组a中的所有数限定到范围a_min和a_max中。代码实现:代原创 2020-11-18 16:52:57 · 223 阅读 · 0 评论 -
一文浅析np.hstack
np.newaxis前言一、栗子二、总结前言np.hstack的功能 —— 数组元素的堆叠一、栗子import numpy as nparr1 = [1, 2, 3]arr2 = [4, 5]arr3 = [6, 7]res = np.hstack((arr1, arr2,arr3))print(res) # [1 2 3 4 5 6 7]import numpy as nparr1 = np.array([[1, 2], [3, 4]])arr2 = np.arr原创 2020-11-12 15:51:22 · 686 阅读 · 0 评论 -
一文浅析np.newaxis
np.newaxis前言一、栗子二、总结前言np.newaxis的功能 —— 插入新维度一、栗子a = np.array([1,2,3,4,5])print(a.shape) # (5,) print(a) # [1 2 3 4 5]当使用[: , np.newaxis] 后,代码为:a = np.array([1,2,3,4,5])a1 = a[:, np.newaxis]print(a1.shape) # (5, 1)print(a原创 2020-11-12 11:10:34 · 210 阅读 · 0 评论 -
python之decimal模块来解决计算结果出现好多.9999,造成精度不准确
由于Python 中使用双精度浮点数来存储小数。在 Python 使用的 IEEE 754 标准(52M/11E/1S)中,8字节64位存储空间分配了52位来存储浮点数的有效数字,11位存储指数,1位存储正负号,即这是一种二进制版的科学计数法格式。虽然52位有效数字看起来很多,但麻烦之处在于,二进制小数在表示有理数时极易遇到无限循环的问题。其中很多在十进制小数中是有限的,比如十进制的 1/10,在十进制中可以简单写为 0.1 ,但在二进制中,他得写成:0.00011001100110011001100110原创 2020-09-02 15:23:30 · 3076 阅读 · 2 评论 -
完全数计算[Python]
题目描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <= 500000返回n以内完全数的个数。 异常情况返回-1代码1:number = int(input()) whil原创 2020-09-02 15:00:13 · 2545 阅读 · 0 评论 -
python中的eval函数及求四则运算
输入描述:输入一个表达计算式输出描述:得到输出结果例子输入:3+2*{1+2*[-4/(8-6)+7]}输出:25代码:功能1:eval()函数能将字符串string对象转化为有效的表达式参与求值运算,并返回计算结果while True: try: s = str(input()) print(eval(s)) except: break功能2:eval()函数去掉参数最外侧引号并执行余下语句的函数print(eva原创 2020-09-01 22:24:28 · 4165 阅读 · 0 评论 -
取近似值
解题思路:取出小数点后一位数字: 小数点后一位乘10,接着除10取余数判断与5的大小关系,进行操作即可代码:num = input()num = float(num) * 10remainder = num % 10if remainder >= 5: print(int(num/10) + 1)else: print(int(num/10))...原创 2020-09-01 16:59:59 · 278 阅读 · 0 评论 -
Python清空数组中的元素
这个问题的答案虽然简单,但对于不熟悉python的学习者来说也挺头大的,故记录。nums = [1,1,2]del nums[:]原创 2020-08-27 09:29:42 · 3334 阅读 · 0 评论 -
矩阵的转置与求导运算
1.矩阵转置 (A+B)T=AT+BT(A+B)^{T}=A^{T}+B^{T}(A+B)T=AT+BT(AB)T=BTAT(A B)^{T}=B^{T} A^{T}(AB)T=BTAT 2.矩阵求导 ∂Ax∂x=AT\frac{\partial A x}{\partial x}=A^{T}∂x∂Ax=AT∂Ax∂xT=A\frac{\partial A x}{\partial...原创 2019-10-28 16:06:02 · 20049 阅读 · 3 评论 -
python中shape[0]与shape[1]
import numpy as npk = np.matrix([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])print(np.shape(k)) # 输出(3,4)表示矩阵为3行4列print(k.shape[0]) # shape[0]输出3,为矩阵的行数print(k.shape[1]) # 同理shape[1]输出列数...原创 2020-08-16 08:56:10 · 99332 阅读 · 14 评论 -
python中的 .ravel() .flatten()
相同点:都是想把多维的数组降为1维。不同点:numpy.flatten() 返回一份拷贝,对数据更改时不会影响原来的数组,而numpy.ravel() 对数据更改时会影响原来的数组。代码:import numpy as npx = np.array([[1, 3, 4], [2, 3, 5]])print("x.ravel的输出:", x.ravel())print("x.flatten的输出:", x.flatten())x.flatten()[1] =10print("发生改变时x.r原创 2020-08-16 08:39:09 · 1291 阅读 · 1 评论 -
Python读取各种文件形式并转化为可处理的数据结构
1. 读取一个excel文件路径,返回读取的内容import pandas as pdfilepath = r'C:\Users\zhf\Desktop\华为杯\原型系统V10\输入文件\输入文件夹\数据集500.xlsx'pd.set_option('max_colwidth', 500)data = pd.read_excel(filepath) # sheet参数要改print(data)2. 读取一个excel文件路径,返回读取的内容为列表import pandas as pdi原创 2020-08-03 10:17:48 · 841 阅读 · 3 评论 -
Python中的sort()和sorted()的区别
L.sort() 函数只适用于列表排序,而sorted()函数适用于任意可以迭代的对象排序。L.sort() 函数排序会改变原有的待排序列表,而sorted()函数则不会改变。所以在使用列表进行排序时,需要考虑是否需要保存原列表,如果无需保存原列表,则优先使用L.sort() 节省内存空间,提高效率。两个函数通过定义 key 和 cmp 都可以完成排序,但是 key 的效率要远远高于 cmp,所以要优先使用 key 。...原创 2020-08-02 10:24:40 · 471 阅读 · 0 评论 -
Python中默认的排序 --- Timsort
Timsort是一种复杂度高的排序算法,稳定并且效率很高,是python,java等默认使用的一种排序算法。Timsort从某种意义上来说是插入排序与归并排序的结合。python中,当一个列表的长度小于等于64时,则默认使用插入排序算法逻辑,对数据进行排序,因为在数据量较小的情况下,插入排序的效率很高,比选择,快排,希尔等都高。当一个列表长度大于64时,就会结合归并和插入排序算法使用,当然,仅仅是使用他们的一部分而已。TimSort是一种稳定性排序。思想是先对待排序列进行分区,然后再对分区进行原创 2020-08-02 10:15:51 · 1093 阅读 · 0 评论 -
Python语料预处理操作,并保存中间结果
doc1.txt原始语料:doc2.txt预处理后:doc3.txt结果为:代码为:import redef yuchuli(): filename = './中间结果/doc1.txt' f = open(filename, 'r', encoding='utf-8') context = f.read() pattern = ",|\\.|\\?|!|:|;|~|,|:|。|!|;|?| " sentence = [i.replace(原创 2020-06-27 22:52:55 · 523 阅读 · 0 评论 -
Python检查当前目录下是否存在所需的文件夹或文档,若不存在,则需要自动生成
实现的功能是:当前目录下是否存在所需的文件夹或文档,若不存在,则需要自动生成import os# 检查相应的文件夹是否存在def mkdir(): file_path = os.getcwd() #获得当前工作目录 if os.path.exists(file_path + "\输入文件"): print("输入文件(文件夹)存在") else: os.makedirs(file_path + "\输入文件")# 判断相应文本是否在对原创 2020-06-27 22:15:17 · 1426 阅读 · 0 评论 -
Python3中dict.keys()和dict_values转换成list类型及访问操作
前期回顾python collections模块中的Counter、OrderedDict、namedtuple、ChainMap、deque问题引入在学习完python 中的 collections模块后,我们会遇到如何访问内部某一具体元素的问题,查找网上没有相关博文,故解决此问题。代码解决from collections import Counters = "aaabcccdeff"temp = Counter(s)print(temp) # Counter({'原创 2020-06-26 12:09:07 · 17332 阅读 · 1 评论 -
Python中的zip()函数与zip(*)函数的作用
zip() 函数功能: 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。当各个迭代器中元素的个数不一致时,则返回列表中长度最短的情况,利用 *号操作符,可以将元组解压为列表。代码1:strs1 = "flower"strs2 = "flow"strs3 = "flight"print(list(zip(strs1, strs2)))print(list(zip(strs2, strs3)))结果为:[('f', 'f'), ('l', 'l原创 2020-06-15 11:30:16 · 2567 阅读 · 0 评论 -
快乐的LeetCode --- 287. 寻找重复数
题目描述: 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3 解题思路1: 由于题目假设只有一个重复的整数,因此使用collections包中的Counter模块之后,出现的第一位就是次数最多的元素。 代码1: from collections import.原创 2020-05-30 15:38:31 · 175 阅读 · 0 评论 -
Python根据当前数组自适应生成最长列表
根据当前数组自适应生成最长列表:nums = [1,3,6,2,2]bitmap = [0 for _ in range(max(len(nums), max(nums)+1))]结果为:[0, 0, 0, 0, 0, 0, 0]生成长度为N的列表:N = 10bitmap = N*[0]print(bitmap)结果为:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]拓展:Python、C++表示整数最大最小值...原创 2020-05-30 15:36:49 · 281 阅读 · 0 评论 -
Python 同一个类中不同函数之间的相互调用
Python中同一个类下函数之间的相互调用本来是一件很简单的事情,可是因为写法上的错误,使得迟迟得不到答案,故记录一下。class Solution: def a(self): self.b() # 注意这种写法:self.类名 def b(self): print('在这里')a = Solution()a.a()结果为:在这里...原创 2020-05-28 09:12:02 · 7385 阅读 · 0 评论 -
Python、C++表示整数最大最小值
Python方法的最大最小值:import sysmax_num = sys.maxsizeprint(max_num) # 最大值 9223372036854775807min_num = -sys.maxsize - 1print(min_num) # 最小值 -9223372036854775808C++方法的最大最小值:#define INT_MAX 0x7fffffff#define INT_MIN 0x80000000 INT_MAX = 2147483647I原创 2020-05-27 10:25:34 · 741 阅读 · 0 评论 -
python找出列表中最长/短的字符串及他们的长度、下标
列表中包含多个字符串,当需要找出最长/短字符串的长度、最长/短字符串或者他们的下标时,此代码都能搞定!欢迎 star ^ ^代码如下:strs = ["flower", "flow", "flight"]len_str = len(strs[0])min_num_index = 0 # 最小值的下标stack = [strs[0]] # 利用栈来找出最短的字符串for index, string in enumerate(strs): if len(string) <原创 2020-05-24 09:42:05 · 11642 阅读 · 4 评论 -
Python合并多个数组
1. 直接相加str1 = [1, 2, 3]str2 = ['a', 'b', 'c']str3 = ['z', 6, 'f']str = str1 + str2 + str3print(str)结果为:[1, 2, 3, 'a', 'b', 'c', 'z', 6, 'f']2. extend()方法str1 = [1, 2, 3]str2 = ['a', 'b', 'c']str3 = ['z', 6, 'f']str1.extend(str2)str1.extend(st原创 2020-05-23 16:20:03 · 1913 阅读 · 0 评论 -
Python判断一个词语是不是人名
import jieba.posseg as psegdef isname(single_word_string): pair_word_list = pseg.lcut(single_word_string) for eve_word, cixing in pair_word_list: if cixing == "nr": return True return Falsesingle_word_string = "明天"print原创 2020-05-20 22:23:10 · 5879 阅读 · 1 评论 -
Python之pandas.iloc和pandas.loc使用用法
引言 pandas.iloc方法提供了基于整数的索引方式,跟 python自身的list 的索引方式是十分类似的! 栗子 import numpy as npimport pandas as pdnp.random.seed(1) # 为了使得生成的随机数固定,这里设置了随机数种子s1 = pd.Series(np.random.randn(5), index=list(range(0, 10, 2)))print(s1)结果为:0 1.6243452 -0.6117.原创 2020-05-19 18:27:54 · 797 阅读 · 0 评论 -
Python之np.random.rand()和np.random.randn()
往期回顾 Python中的random.[random、uniform、randint 、randrange、choice、shuffle、sample、RandomState、randint] 用法 函数解析 np.random.rand()与np.random.randn()函数用法相同np.random.rand()函数作用: 返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。import numpy as npprint(np.random..原创 2020-05-19 14:43:48 · 3954 阅读 · 0 评论 -
Python 数据清洗之缺失数据填充函数 fillna() 及缺失值处理
引入 在实际的项目中,当缺失数据比较多的情况下,可以直接滤除;而当缺失数据比较少时,需要对数据进行填充。 栗子 import numpy as npfrom numpy import nanimport pandas as pddata=pd.DataFrame(np.arange(3,19,1).reshape(4,4),index=list('abcd'))print(data)data.iloc[0:2,0:3]=nanprint(data) 0 1 .原创 2020-05-19 10:52:19 · 10554 阅读 · 2 评论 -
Python中的@staticmethod和@classmethod的用法
引言 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。 从使用上看@staticmethod和@classmethod的区别 @staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。@classmethod也不需要self参数,但第一个参数需要.原创 2020-05-19 10:30:40 · 338 阅读 · 0 评论 -
Python之整数与整数数组之间的转换/化
整数转化为数组: number = 123print([int(x) for x in str(number)]) 数组转化为整数: digits = [1, 2, 3]print(str(int(''.join(str(item) for item in digits)))) 拓展练习: 快乐的LeetCode之 加一 拓展阅读: [1]. Python中类型转换[2]. 剑指offer—把字符串转换成整数(面试题67. 把字符串转换成整数)[3]. 快乐的LeetCode—字.原创 2020-05-13 15:48:52 · 8016 阅读 · 1 评论 -
Python生成词云图及词云形状关键秘诀
前两个代码来自于网上对于词云的处理,代码3是自己改进的内容 代码1 来源于:Python生成中文词云图#添加自定义分词import jiebafrom os import path #用来获取文档的路径#词云from PIL import Imageimport numpy as npimport matplotlib.pyplot as plt#词云生成工具fr...原创 2020-05-08 17:11:17 · 2750 阅读 · 0 评论 -
Python保存训练好的模型(一)
保存模型:from sklearn.externals import joblibA=[[1,2,3],[4,5,6],[7,8,9]]B=A+Aprint(B)joblib.dump(B, 'saved_model/B.pkl') # 保存模型,需先建立saved_model文件夹输出为:[[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 2,...转载 2020-05-04 18:23:36 · 1525 阅读 · 0 评论 -
Python matplotlib 论文画图之常用操作
1. 改变图的大小# figsize的2.8和1.7指的是英寸,dpi指定图片分辨率。那么图片就是(2.8*300)*(1.7*300)像素大小figure(num=None, figsize=(2.8, 1.7), dpi=300)2. 设置字体大小plt.xticks(fontproperties = 'Times New Roman', fontsize=8)plt.yticks...原创 2020-05-04 16:47:33 · 1291 阅读 · 0 评论 -
Python之numpy 中linspace函数
引例print(np.linspace(start=0, stop=10, num=5))结果为:[ 0. 2.5 5. 7.5 10. ]linspace参数start,stop,num(可选),endpoint (可选),dtype (可选)从0到1,间隔为0.1的数值序列print(np.linspace(start=0, stop=1, num=11))结果为:[0...原创 2020-05-04 16:07:42 · 1727 阅读 · 0 评论 -
Python查看__main__.ListNode object at 0x0000000002A7CEB8 中的内容
def printList(l): while l: print("%d, " %(l.val), end = '') l = l.next print('')原创 2020-05-04 15:01:42 · 4754 阅读 · 1 评论 -
Python 之数字字符列表转数字
A = ['1', '2', '3']A = int("".join(A))print(A)结果为:123原创 2020-05-04 10:58:34 · 615 阅读 · 0 评论 -
深copy浅copy解决Python中的remove问题
问题引入: 在进行 remove 移除数组中相同数字的操作时,发现最后的返回结果中仍然会包含未完全移除的数字。class Solution(object): def removeElement(self, nums, val): for number in nums: if number == val: num...原创 2020-04-25 15:40:14 · 549 阅读 · 0 评论 -
Python正则表达式匹配字符串
通过模块re匹配字符串,如下,判断字符串str2是否在str1中import restr1 = "aabcd"str2 = "abc"match = re.compile(str2).search(str1).group()print(match)原创 2020-04-23 15:19:57 · 2104 阅读 · 3 评论