Python基础知识(持续更新中)

Python

一、 转换函数

数据类型

将x转换到一个浮点数float(x)
将x转换为一个整数int(x [,base])
创建一个复数complex(real [,imag])
将对象 x 转换为字符串str(x)
将对象 x 转换为表达式字符串repr(x)
用来计算在字符串中的有效Python表达式,并返回一个对象eval(str)
将序列 s 转换为一个元组tuple(s)
将序列 s 转换为一个列表list(s)
转换为可变集合set(s)
创建一个字典。d 必须是一个序列 (key,value)元组dict(d)
转换为不可变集合frozenset(s)
将一个整数转换为一个字符chr(x)
将一个字符转换为它的整数值ord(x)
将一个整数转换为一个十六进制字符串hex(x)
将一个整数转换为一个八进制字符串oct(x)

弧度角度

    radians = math.radians(180)  # 传入参数为角度制 180度=pi
    print(radians)  # 3.141592653589793

    # 弧度制转为角度制
    degree = math.degrees(math.pi)   # 传入参数为弧度制
    print(degree)  # 180.0

二、列表

1.remove: 删除单个元素,删除首个符合条件的元素,按值删除

>>> str=[1,2,3,4,5,2,6]
>>> str.remove(2)
>>> str
[1, 3, 4, 5, 2, 6]

2.pop: 删除单个或多个元素,按位删除(根据索引删除)

>>> str2=['abc','bcd','dce']
>>> str2.pop(2)
'dce'
>>> str2
['abc', 'bcd']

3.del:它是根据索引(元素所在位置)来删除

>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
>>> str
[0, 1, 4, 5, 6]

find函数

find() 方法用于检索字符串中是否包含目标字符串,如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。
检索字符串,并规定起始点与终止点(可省略)

>>> str = "c.biancheng.net"
>>> str.find('.',2,-4)
-1

rfind() 是从字符串右边开始检索。

>>> str = "c.biancheng.net"
>>> str.rfind('.')
11

三、 np

1.随机函数

np.random.rand

其返回结果中的每一个元素是服从0~1均匀分布的随机样本值,也就是返回的结果中的每一个元素值在0-1之间。

import numpy as np
# 生成一个0~1的随机数
mat = np.random.rand()
# 生成2*1的随机矩阵
mat = np.random.rand(2)
# 生成一个3*2的随机矩阵
mat = np.random.rand(3, 2)
np.random.randn()

返回的结果是服从均值为0,方差为1的标准正态分布,而不是局限在0-1之间,也可以为负值,同上。

np.random.randint(low,high,size,dtype)

返回结果:返回值是一个大小为size的数组,如果指定了low和high这两个参数,那么生成的元素值的范围为[low,high),不包括high;如果不指定high这个参数,则生成的元素值的范围为[0,low)。如果不指定size这个参数,那么生成的元素值的个数只有一个。

mat = np.random.randint(low=1, high=5)
mat = np.random.randint(low=2, high=10, size=(3, 3))
mat = np.random.randint(low=2, high=10, size=(3, 3), dtype=np.uint8)
np.random.uniform(low,high,size)

生成服从指定范围内的均匀分布的元素。其返回值的元素类型为浮点型。需注意的是元素值的范围包含low,不包含high。

2.矩阵

array
# 将列表数据变成numpy类型
array = np.array([1,2,3,4])
# 将列表数据变成numpy类型
array2 = np.array([[1,2,3],[4,5,6],[7,8,9]])
array2
# 以10为底
np.logspace(0,1,5)
# 构建全0的
np.zeros(4)
# 构建全1的
np.ones((2,3))
# 构建空的,会随机填充一些东西
a = np.empty(5)
# 用3填充
a.fill(3)
# 根据某个数据来构建给他形状一样的东西
np.zeros_like(a)
# 单位矩阵
np.identity(4)

索引方式与列表相同

# 给数组中每一个数加1
array += 1
# 查看数据形状
array.shape
# 查看数据类型
array.dtype
# 查看数据的个数
array.size
array2.size=9
# 维度
array.ndim
array2.ndim=2

同matlab矩阵操作

# 获取第2行的数据
array2[1]
# 第一个参数表示第1行,第二个参数表示第1,2列
array2[0,1:3]

# 复制数据,这2个变量指向同一个值,一个变量修改了值,另外一个变量查看的时候值也会变
array3 = array2
array3
# 复制数据,2个变量之间的值互不影响
array3 = array2.copy()
array3

运算

# 向量乘法
np.multiply(x,y)
# 矩阵乘法
np.dot(x,y)

# 求和
array2.sum()
# 按维度求和,负数表示从后面维度开始数
# axis 0列,1行
np.sum(array2,axis=0)
array2.sum(axis=0)
# 所有数相乘
array2.prod()
# 按维度相乘
array2.prod(axis=1)
# 找到最小值(可按维度寻找)
array2.min()
# 找到最大值
array2.max()
# 最小值索引位置(可按维度)
array2.argmin()
# 平均值
array2.mean()
# 标准差
array2.std()
# 方差
array2.var()
# 小于2的值都变成2,大于4的值都变成4
array2.clip(2,4)
# 四舍五入
a.round()
# 设置精度
a.round(decimals=1)
# 排序
# 按维度排序
np.sort(a,axis=0)
# 返回原来的索引值
np.argsort(a)
# 等分取值
a = np.linspace(0,10,10)
# 第一列降序,第三列升序
i = np.lexsort([-1*a[:,0],a[:,2]])
# 修改数据形状
a.shape = 2,5
# 转制
a.transpose()
# 转置,不会改变原来数据形状
a.T
# 拼接数据
c = np.concatenate((a,b))
# 拼接数据,指定在哪个维度
c = np.concatenate((a,b),axis=1)
# 数据变成一维的,不会改变原数据
a.flatten()

# 生成一维数据,在[0,100)中,每隔10个选取一个
a = np.arange(0,100,10)
m = np.array([0,2,0,0,1,5,0,0,7,0],dtype = bool)
》》array([False,  True, False, False,  True,  True, False, False,  True,
       False])
# 下标是False表示不显示这个值,True表示显示这个值
a[m]
》》array([10, 40, 50, 80])
# 参数10表示生成10个数
r = np.random.rand(10)
# 找到r中大于0.5的下标
m = r >0.5
or
np.where(r > 0.5)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

离开冥界的孤独格斗者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值