Python部分库函数

目录

一、常规函数

元组相关函数

1.元组的创建

2.元组多变量赋值

列表相关函数

1.列表的创建

(1)将至于中括号中的、用逗号分隔开的一组数据赋值给一个变量,数据可以是多个也可以是一个

(2)使用list函数

(3)split()函数

2.列表的更新

(1)通过索引赋值改变列表中制定序号的元素

(2)还可以通过切片赋值的方法更新列表中的数据。

(3)其他操作方法,append,extend,insert

3.列表的删除

(1)list.pop(i)

(2)ls.remove(x)

(3)ls.clear()

(4)del命令

4.列表的排序

(1)ls.sort()方法

(2).ls.reverse()方法

(3)sorted()函数

sorted()的特殊使用方法

(4)reserved(seq)函数

5.列表的赋值与复制

(1)浅拷贝

(2)深拷贝

6.列表推导式

7.常用内置函数

(1)map()

(2)zip()

(3)enumerate()

字符串相关函数

1.索引

2.切片

3.序列拼接与重复

4.成员测试in  和“not in”

二、数学运算函数

Python内置的数学运算函数

1.abs(x)

2.divmod(a,b)

3.pow(x,y[,z])

4.round(number【,n】)

5.max()/min()

math库常用函数

1.math.fabs

2.math.factorial()

4.math.gcd()

5.math.lcm()

6.math.pow(x,y)

7.math.exp()

8.math.sqrt()

三、字符串相关库函数或常量

string,字符串常量

常用字符串处理方法:

(1)str.upper/str.lower:

(2)str.strip()

(3)str.join()

(4)str.split()

(5)str.find(sub,strat,end)

(6)str.replace

random模块

2.random.randint(a,b)

3.random.random()

4.random.unifrom(a,b)

5.random.chioce()

6.random.sample()


一、常规函数

元组相关函数

1.元组的创建

(1)用一堆空的小括号创建一个空元组

(2)用逗号结尾的一个单独元素

(3)用逗号分隔的多个元素(最好使用带括号的)

(4)使用内置的tuple()函数

t1 = (1,2,3,4)
t2 = 1,2,3,4t3 = tuple()
t4 = tuple(range(4))
t5 = tuple([1,2,3,4])

2.元组多变量赋值

(1)可以使用多变量赋值语句吧元组、列表、字符串等序列解包

x,y = (5,10)
m,n = 3,4
a,b,c = 'xyz'
i,j = [3,6]

(2)多变量赋值时,序列长度必须与变量数量一致,否则会引发ValueErrorr

(3)多变量同时复制,常会用于将在一行内输入、使用空格或者逗号隔开的字符串根据分隔符切分列表,然后使用多变赋值语句分别赋值给多个变量:

name,score = input().split()
a1,a2,a3=map(int,input().split()) #可以直接获取整形而非字符型

列表相关函数

1.列表的创建

(1)将至于中括号中的、用逗号分隔开的一组数据赋值给一个变量,数据可以是多个也可以是一个
(2)使用list函数

分割元组、range、字符串、字典的键、集合或者其他类型的可迭代对象类型的数据转换为列表,当参数为空时,生成一个空列表

print(list())
print(list((1,2,3,4)))
print(list(range(5)))
print(list("1234"))
(3)split()函数

根据分隔符sep将字符串分为列表。当不确定分隔符是一个或者多个空格时,一般不加参数,多个空格值切分一次

s = "Life is  short,you need  Python"
print(s.split(","))
print(s.split())
print(s.split(' '))['Life is  short', 'you need  Python']
['Life', 'is', 'short,you', 'need', 'Python']
['Life', 'is', '', 'short,you', 'need', '', 'Python']

2.列表的更新

(1)通过索引赋值改变列表中制定序号的元素
ls[i] = a

当i值超过列表序号范围时,触发索引越界异常;原有元素的数据类型相同,也可以不同,甚至可以是列表或元组

(2)还可以通过切片赋值的方法更新列表中的数据。

当切片连续时新列表长度不限,可为空列表、与切片等长列表或者超出列表长度的列表

当切片不连续时,要求用于替换的新列表与原列表切片元素数量相同,再按顺序一一替换,替换元素数量不相同时,返回ValueError

(3)其他操作方法,append,extend,insert

append,向列表末尾追加一个元素

ls = [88,56,95,46]
ls.append(56)
print(ls)[88, 56, 95, 46, 56]

extend,将另一个列表中的所有元素追加到现在列表的末尾

ls = [88,56,95,46]
L = [10,20,30]
ls.extend(L)
print(ls)[88, 56, 95, 46, 10, 20, 30]

insert,向列表中的任意位置插入一个元素

ls = [88,56,95,46]
ls.insert(2,99)#在序号为2的位置上插入新值99
print(ls)[88, 56, 99, 95, 46]

3.列表的删除

(1)list.pop(i)

用于移除列表中序号为i的元素,并且返回该元素。如果无参数时,删除最后一个元素.唯一一个删除元素同时返回值为被移除的元素

ls = list('08974')
print(ls.pop())    #4
(2)ls.remove(x)

删除列表中第一个与参数“x”值相同的元素,列表中存在多个只删除第一个,保留其他元素;当不存在相同元素时,报错ValueError

(3)ls.clear()

删除列表中全部的元素,即清空列表。

(4)del命令

ls.clear()的作用与del ls[:]相同;当一个列表不再使用时,可以使用del命令删除列表对象

ls = list('08974')
ls.clear()
print(ls)ls = list('08974')
del ls[1]
print(ls)
del ls[:]
print(ls)
del ls[]
['0', '9', '7', '4']
[]

4.列表的排序

(1)ls.sort()方法

该方法可以让ls原地排序,reverse默认值是False,默认是由低到高排序,如果将reverse的参数改为True则获得降序列表

参数key种植钉排序时应用到每个参与排序元素的规则

ls = ['app',"Apple","at","at"]
ls.sort()
print(ls)
ls.sort(key=str.lower)
print(ls)
ls.sort(key=len)
print(ls)
ls2 = ['76','98','55','4','05']
ls2.sort(key=int)
print(ls2)['Apple', 'app', 'at', 'at']
['app', 'Apple', 'at', 'at']
['at', 'at', 'app', 'Apple']
['4', '05', '55', '76', '98']
(2).ls.reverse()方法

不比较元素大小,只是直接将列表ls的元素逆序

ls = ['app',"Apple","at","at"]
ls.reverse()
print(ls)['at', 'at', 'Apple', 'app']
(3)sorted()函数

使用效果与ls.sort方法相同,但是ls是作为参数写入该函数的

ls2 = ['76','98','55','4','05']
print(sorted(ls2,key=int))['4', '05', '55', '76', '98']
sorted()的特殊使用方法

下图意为先以第三个元素极性升序排序,如果第三元素相等,则以第1元素升序排序。排序之后所得依旧为列表

socre = [['a','1000000',99],['b','1000001',98],['c','1000002',97]]
print(sorted(socre,key=lambda x:(x[2],x[0])))[['c', '1000002', 97], 
['b', '1000001', 98],
['a', '1000000', 99]]
(4)reserved(seq)函数

使用方法与sorted相同,效果与(2)一致

5.列表的赋值与复制

(1)浅拷贝

浅拷贝只复制首地址,可变数据类型元素发生变化时也会影响原来的函数

ls = [2,5,['a',[22,33],'c'],9]
ls1 = ls
print(ls1)
ls2 = ls[1:3]
print(ls2)
ls3 = ls.copy()
print(ls3)[2, 5, ['a', [22, 33], 'c'], 9]
[5, ['a', [22, 33], 'c']]
[2, 5, ['a', [22, 33], 'c'], 9]
(2)深拷贝

递归复制到低的叫深复制,复制结果完全独立于源对象

ls5 = copy.deepcopy(ls)
print(ls5)[2, 5, ['a', [22, 33], 'c'], 9]

6.列表推导式

列表推导式时一种创建新列表的便捷的方式,可根据一个列表中的每个元素通过某种运输按或者筛选得到另一个系列的新数据,创建一个新列表。其中,该运算法则也可以是一个函数。

s =[]
for x in range(10):s.append(x**2)
print(s)s2 = [x**2 for x in range(10)]
print(s2)[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

7.常用内置函数

(1)map()

该函数可以将函数作用于可迭代对象中的每一个元素,返回一个可迭代对象(生成器),常用于讲一个序列映射为另一种数据类型的序列

第一个参数是一个函数,如int,float,str等,第二个对象是刻碟嗲对象,比如列表

s= ['1','2','3']
print(map(int,s))
print(*map(int,s))
print(list(map(int,s)))<map object at 0x0000010AA4312FD0>
1 2 3
[1, 2, 3]

亦可以用于同行输入

m ,n = map(int, input().split())
print('+'.join(map(str,range(5))))  #整数序列映射为字符序列并拼接
#输出字符串“0+1+2+3+4”
print(sum(map(int,str(pow(2,64))))) #整数字符串映射为整数序列
#2的64次方的结果是18446744073709551616,每一位上的加和为88
(2)zip()

zip可以组合多个遍历对象,生成一个zip文件,最终生成“生成器对象”,列表长度取决于最短的可遍历对象

第i个元组的数据可以为各可遍历对象的第i个元素组成的元组,知道所有的可遍历对象中最短的元组最后一个元素组成的元组为止

可以使用list或者*对生成器对象进行解包,但是解包后生成器文件就会变空。使用‘*’解包会以多个元组的形式返回

city = ['上海','北京','深圳']
gdp = ['45665','64565']
rate = [-2.6,-3.2,0.1]
datail = zip(city,gdp,rate)
print(list(datail))
print(list(datail))  #生成器对象被访问后就会变空
datail = zip(city,gdp,rate)
print(*datail)[('上海', '45665', -2.6), ('北京', '64565', -3.2)]
[]
('上海', '45665', -2.6) ('北京', '64565', -3.2)
(3)enumerate()

根据一个可遍历对象生成一个新的可遍历序列,给原来的iter对应的增添一个序号。如果不填写第二个参数则自动以0为序号开始填写。

ls = ['shanghai','beijing','jinan']
LS = enumerate(ls)
print(list(LS))ls = ['shanghai','beijing','jinan']
LS = enumerate(ls,1)
print(list(LS))[(0, 'shanghai'), (1, 'beijing'), (2, 'jinan')]
[(1, 'shanghai'), (2, 'beijing'), (3, 'jinan')]

字符串相关函数

1.索引

索引序号必须为整数或者结果是整数的表达式,索引的对象可以是字符串,元组,列表等多种类型。

s = "Holle World!"
print(s[4])  #返回序号为4的字符,即第5个字符‘e’
print(s[-1]) #返回最后一个字符‘!’
2.切片

字符串序列、列表、元组、range等类型都支持切片操作

seq[start:end:step]

print(s[6:8])
print(s[:5])
print(s[6:])
print(s[-3:-1])
print(s[6:-1])#负向索引,但是不包括最右边的元素
print(s[::])#以字符串开始到结束进行切片
print(s[::-1])#倒序输出
print(s[::2])#步长为2Wo
Holle
World!
ld
World
Holle World!
!dlroW elloH
HleWrd
3.序列拼接与重复

序列拼接是通过“+”将两个相同类型的序列拼接成一个包含参与拼接的序列中所有元素的新序列。

序列重复(s*n)是将一个序列s乘以一个整数n产生一个新序列

year = 2018
s = "年"
print('=' * 10)
print(str(year)+s)
print('='*10)==========
2018年
==========
4.成员测试in  和“not in”

用于检测某对象是否是字符串、列表或元组等序列或者集合中的成员,返回布尔值True或者False。

二、数学运算函数

Python内置的数学运算函数

不可以用math引用,如果使用引用就会报错

1.abs(x)

返回x的绝对值,x可以是整数或者浮点数,当x为复数的模

2.divmod(a,b)

相当于(a//b,a%b),以元组的形式返回整数商和余数

3.pow(x,y[,z])

返回x的y次幂,当z存在时,返回x的y次幂计算结果的同时,再对z取余

print(pow(2,3)) #计算2**3,输出8
print(pow(1999,1998,1997))#1999**1998%1997
4.round(number【,n】)

返回浮点数number保留n为小数的形式,n微整形,默认值为0

print(round(3.1415926))#3,返回最接近输入数字的整数
print(round(-3.14))    #3
print(round(3.8))      #4
print(round(3.12500001,2))# 3.13,后非0就进1
print(round(3.125,2))    #3.12,5后为0,且前位偶数不进位
print(round(3.115,2))    #3.12,5前位奇,进1
5.max()/min()

从多个参数或者一个可迭代对象中返回最大/小值,有多个最大/小值返回第一个

math库常用函数

1.math.fabs

以浮点数形式返回参数的绝对值

2.math.factorial()

返回参数的阶乘,不可以接受整数值的浮点数作为参数

3.math.fsum()

返回浮点数迭代求和的精确值,避免精度损失

print(sum([.1,.1,.1,.1,.1,.1,.1,.1,.1,.1]))
print(math.fsum([.1,.1,.1,.1,.1,.1,.1,.1,.1,.1]))0.9999999999999999
1.0
4.math.gcd()

返回给定的整数参数的最大公约数

5.math.lcm()

返回给定的整数参数的最小公倍数

6.math.pow(x,y)

返回x的y次幂

7.math.exp()

返回e的x次幂

8.math.sqrt()

返回x的平方根

三、字符串相关库函数或常量

string,字符串常量

string.ascii_letters,"abcdefghijklmnopqrstuvwhyzABCDEFGHIGKLMNOPQRSTUVWHYZ"

string.ascii_lowercase,"abcdefghijklmnopqrstuvwhyz"

string.ascii_uppercase,"ABCDEFGHIGKLMNOPQRSTUVWHYZ"

string.digits,“0123456789”

string.hexdigits,“0123456789abcdefABCDEF”

string.octdigits,"01234567"

string.punctuatuion,"!"#$%&\'()*+,-:;<=>?@[\\]^_`{|}~"

string.printable,"0123456789abcdefghijklmnopqrstuvwhyzABCDEFGHIGKLMNOPQRSTUVWHYZ!"#$%&\'()*+,-:;<=>?@[\\]^_`{|}~\t\n\r\x0b\x0c"

string.whitespace,"\t\n\r\x0b\x0c"

常用字符串处理方法:

(1)str.upper/str.lower:

转换字符串中所有字母的大小写,前者全部改为大写,后者改为小写

(2)str.strip()

用于移除字符串开头结尾的指定字符,参数省略时删掉空白字符\t\n\r\x0b\x0c等

此外还有rstrip()函数,用于移除字符串结尾置顶的函数

lstrip()函数删除字符串左侧空白字符

s = "001230"
s1 = s.strip('0')
print(s1)
s2 = s.rstrip("0")
print(s2)123
00123
(3)str.join()

以字符串为作为分隔符,将参数中的字符串元素拼接成一个新的的字符串,当参数中存在非字符串元素时,返回异常

(4)str.split()

根据分隔符sep酱紫夫差切分为列表,sep参数省略时根据空格分隔。当maxsplit存在且不为-1时,可以最多切分maxsplit次

(5)str.find(sub,strat,end)

检测字符串中是否包含参数,如果是,则返回开始的索引值,否则返回-1。start和end为取值范围

(6)str.replace

把字符串中的参数1全部换为参数2,如果还有整数x参数3,则最多执行x次

遍历输出文件   with open('filename',mode='r',encoding = 'utf-8') as file:

filename是读取的带扩展名的文件名,读取模式mode的是为“r”表示阅读模式(read),不修改文件,也可以省略。file值读取文件后创建的对象。

random模块

1.random.seed()

初始化随机生成器,如果参数省略或者为None时以系统时间作为种子。seed必须是以下类型之一:NoneType,int,float,strbytes,bytearray

2.random.randint(a,b)

产生[a,b]之间的一个随机整数

3.random.random()

产生[0.0,1.0)之间的随机浮点数

4.random.unifrom(a,b)

产生[a,b)范围内随机一个浮点数

5.random.choice()

从非空序列中随机产生一个元素,当序列为空时,触发异常

6.random.sample()

参数1:列表、元组、字符串、集合、range对象等。参数2:整数

在参数1中随机选择n个元素,并以列表形式返回

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第29讲:Ceph集群使用RBD块存储设备与K8S的PV集成

文章目录 1.Ceph集群使用RBD块存储与K8S集成简介2.Ceph集群RBD块存储与K8S PV存储卷集成2.1.创建K8S集群PV使用的块存储2.2.创建K8S集群访问RBD块存储设备的认证用户2.3.将认证用户的Key存储在K8S Secret资源中2.4.在K8S集群的所有节点中安装Ceph命令2.5.创建PV及PVC资源使用RB…

C#开发-集合使用和技巧(八)集合中的排序Sort、OrderBy、OrderByDescending

C#开发-集合使用和技巧&#xff08;八&#xff09;集合中的排序Sort、OrderBy、OrderByDescending List<T>.Sort()IEnumerable<T>.OrderBy()Enumerable<T>.OrderByDescending() 在C#中&#xff0c;List<T> 类提供了多种方法来进行排序&#xff0c;最常…

浔川法务部通知——浔川法务部

原文链接&#xff1a;如何用python做一个用户登录界面——浔川python社-CSDN博客 抄袭链接&#xff1a;用python做的一个登录界面——浔川python社-易微帮 浔川python社原创文章被抄袭&#xff0c;请抄袭网站删除文章。 我方于昨夜联系了CSDN举报中心。如不删除&#xff0c;我…

jax.nn.initializers.glorot_normal()

import jax import jax.numpy as jnp from jax import random import jax.nn.initializers as init# 设置随机数种子 key random.PRNGKey(42)# 定义权重的形状 shape (in_dim, out_dim)# 获取 Glorot 正态初始化函数 glorot_normal_init init.glorot_normal()# 初始化权重 w…

QT基础 - QMainWindow主窗口

目录 零. 简介 一. 菜单栏 二. 工具栏 三. 状态栏 四. 可停靠区域 五. 总结 零. 简介 QMainWindow 是 Qt 中用于构建主窗口的类。 它通常包含以下几个主要部分&#xff1a; 菜单栏&#xff1a;用于提供各种操作选项。工具栏&#xff1a;放置常用的操作按钮。中心区域&…

搭建Vue的环境

目录 # 开篇 步骤一&#xff0c;准备Vue 的环境 步骤二&#xff0c;下载Vue.js的包 步骤三&#xff0c;创建并打开写前端代码的文件夹 步骤四&#xff0c;在VSCode中引入Vue.js的包 步骤五&#xff0c;创建第一个vue.html Vue其他知识 Vue.config命令 # 开篇 介绍&…

详细分析Element Plus的el-pagination基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 需求&#xff1a;从无到有做一个分页并且附带分页的导入导出增删改查等功能 前提一定是要先有分页&#xff0c;作为全栈玩家&#xff0c;先在前端部署一个分页的列表 相关后续的功能&#xff0c;是Java&#xff0c;推荐阅读&#x…

C/C++ 提取DNS请求/响应数据包之中的 Quesion 内容

它主要是提取DNS数据包之中查询问题的信息&#xff0c;如&#xff1a;问题类型、问题类别、问题内容&#xff08;域/IP&#xff09;&#xff0c;我们如果想要对于某个DNS数据包需要进行遥测的时&#xff0c;或者进行NS缓存生命周期管理&#xff0c;那么就需要类似这样的函数实现…

Java中System.setProperty()用法总结

Java中System.setProperty()用法总结 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在Java编程中&#xff0c;System.setProperty()方法用于设置系统属性。系统…

数据结构:4.1.2二叉搜索树的插入

整个框架和FInd函数的实现是一样的&#xff0c;但是也有不同&#xff08;注意&#xff09; 35>30 向30的右子树 35<41 向41的左子树 35>33 向33的右子树&#xff0c;但33右边为空&#xff0c;所以35就挂在33的右边 因为要把35挂在33的右边&#xff0c;所以要把33的…

绘制eps格式的实验结果图

1. python 画图保存为eps python画出实验结果图之后有时想进行标记从而让读者通过看图就能明白做了什么。IEEE 一般要求实验结果是eps格式&#xff08;矢量图&#xff09;&#xff0c;如果在python画图之后不需要进行进一步的编辑&#xff0c;可以直接使用Tkagg画布在小窗口画…

Solkane 冷媒性能计算软件-管路计算

下载 制冷管道设计 制冷管路的压降会降低制冷量&#xff0c;增大功耗。但不同部分的管路允许的压降的数量级是不同的。 制冷管路的压降不是唯一的考虑因素&#xff0c;制冷剂的流速往往比压降更重要。 制冷系统中&#xff0c;压缩机、阀、汽液分离器或其他附件上的连接件的尺…

VSCode 安装NeoVim扩展(详细)

目录 1、安装NeoVim扩展 2、windows安装Neovim软件 3、优化操作相关的配置&#xff1a; 5、Neovim最好的兼容性配置 6、技巧和特点 6.1 故障排除 6.2、Neovim 插件组合键设置 6.3、跳转列表 1、安装NeoVim扩展 在扩展商店搜索NeoVim&#xff0c;安装扩展 2、windows安装…

重学java 77.JDK新特性 ③ Stream流

The road is long,it can be really hard.Whatever you do,you hold on to that foolishly hopeful smile —— 24.6.19 Stream流 stream流中的"流"不是特指"IO流",它是一种"流式编程"(编程方式),可以看做是"流水线 package S109Stream;im…

JavaScript——JavaScript对象:对象的创建方式、in关键字、遍历对象的属性和方法、内置对象

目录 JavaScript对象 对象的创建方式 利用字面量创建对象 利用new Object创建对象 利用构造函数创建对象 类 in关键字 遍历对象的属性和方法 内置对象 JavaScript对象 对象的创建方式 利用字面量创建对象 /* 面向对象的编程思想&#xff1a;写类创建对象并调用对象…

【Hive】new HiveConf()时加载的配置浅析

简单看下源码&#xff1a; org.apache.hadoop.hive.conf.HiveConf HiveConf中有静态代码块&#xff0c;内容就是调用findConfigFile方法&#xff0c;尝试读取hive-default.xml&#xff0c;hive-site.xml&#xff0c;hivemetastore-site.xml&#xff0c;hiveserver2-site.xml。…

【Python机器学习实战】 | Lasso回归和弹性网回归详细分析研究

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

react使用OpenLayers实现类似船某网在地图放大时展示具体船舶符号缩小时显示聚合小点效果

一、效果 如图所示&#xff0c;地图缩小&#xff08;即比例尺放大&#xff09;时&#xff0c;显示聚合小绿点&#xff1b; 地图放大&#xff08;比例尺缩小&#xff09;时&#xff0c;展示具体船舶符号&#xff1a; 二、思路 1&#xff09;设置2个图层&#xff0c;一个展示…

计网重点面试题-TCP三次握手四次挥手

三次握手 第一次握手(syn1) 客户端会随机初始化序号&#xff08;client_isn&#xff09;&#xff0c;将此序号置于 TCP 首部的「序列号」字段中&#xff0c;同时把 SYN 标志位置为 1&#xff0c;表示 SYN 报文。接着把第一个 SYN 报文发送给服务端&#xff0c;表示向服务端发…

Microsoft Edge 查看已保存账号的密码

1、打开更多菜单选项 打开浏览器右上角的“...”设置及其他&#xff0c;快捷键&#xff1a;ALTF。 2、打开设置选项 选择“设置”&#xff0c;快捷键&#xff1a;g 3、点击密码 在“个人资料”选项中找到密码选项 4、电子钱包 电子钱包会显示“站点和应用”所保存的账户信息…