python基础知识
目录
1.数组
# 若没有安装头文件输入下行代码,添加头文件
# pip install numpy
import numpy as np
import math
1.1 创建数组
# int还可以是float(浮点)、bool(布尔)、NoneType(空)、str(字符串)
a=np.zeros((2,3),dtype=int)
b=np.ones((2,3),dtype=bool)
c=np.arange(6)
d=np.arange(6).reshape(2,3)
e=np.array([[1,2,3],[4,5,7]])
print('a:\r\n',a,'\r\nb:\r\n',b,'\r\nc:\r\n',c,'\r\nd:\r\n'\
,d,'\r\ne:\r\n',e)
有一个点一开始没有弄明白,导致后面很多bug
1.2 数组操作
# 一维数组的操作
f=np.arange(12)
print('原数据:',f)
print('原数据长度:',len(f))
print('隔一个取一个数:',f[1::2])
print('倒着数:',f[::-1])
print('逻辑判断:',f[3:7]>5) #只有最后一个元素6比5大
print('数值判断:',f[f>5])
print('坐标判断:',f[5:])
print('乘积之和(可以是f和g)',np.dot(f,f),'或',f.dot(f))
f1=np.random.randint(2,8,size=20)
f2=np.random.rand(1,8)
print('随机数f1:',f1)
print('符合正态分布0-1之间f2:',f2)
# 二维数组的操作
g=f.reshape(3,4)
print('原矩阵:',g)
print('矩阵尺寸:',g.shape)
print('逆矩阵:',g.T)
print('原数据长度:',g.size,'数据类型:',g.dtype)
print('两个矩阵上下拼接,左右axis=1\r\n',np.concatenate((g,g),axis=0))
1.3 数组取值
nums = [1,2,3,5,7,10,14,21,30,98]
print("nums[0:5]:", nums[0:5])
print("nums[:3]:", nums[:3])
print("nums[5:]:", nums[5:])
print("nums[-3:]:", nums[-3:])
print("nums[::2]:", nums[::2])
1.4 链表操作
# 人名
classmates = ['Michael', 'Bob', 'Tracy', 'James']
print(classmates)
# 查看长度
print("列表长度:", len(classmates))
# 列表索引
print("第一个同学:", classmates[0])
print("第二个同学:", classmates[1])
print("第三个同学:", classmates[2])
# 索引
print("最后一个同学:", classmates[-1])
print("倒数第二个同学:", classmates[-2])
# 增加数据
classmates.append("Alice")
print("添加一个同学:", classmates)
# 删除数据
classmates.pop()
print("删除一个同学:", classmates) #删最后一个
# 替换数据
classmates[-1] = "Alice" #赋值
print("替换数据:", classmates)
2.逻辑语言习惯
2.1 for循环在C、Pythong、MATLAB中的不同:
Python:
num=[2,0,0,2,3,7]
for i in range(0,6):
print(num[i])
C:
num=[2,0,0,2,3,7]
for(i=0,i<sizeof(num),i++)
{
cout>>num(i)>>endl;
}
matlab:
num=[2,0,0,2,3,7]
for i=1:length(num)
display(num2str(num(i)));
end
python特点:冒号,数组用 [ ]