栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python刷题以及仿真过程遇到的问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python刷题以及仿真过程遇到的问题

最近使用python进行仿真实验以及刷leedcode遇到的一些编程小细节

1、python数组相加是简单的合并操作? 回答:是的,但是在numpy中指的是矩阵的运算。

list1 = [1, 2, 3, 5]
print([1] + list1)  # [1, 1, 2, 3, 5]

# numpy中矩阵的相加
import numpy as np
list2 = np.array([1, 2, 3, 5])
print([1] + list2)  # [2 3 4 6]

2、random中一些函数的使用,random.sample() — 用于截取列表中指定长度的随机数,但是不会改变原来数组的样子。
在numpy当中也是包含random函数的

import random
import numpy as np
list1 = [1, 2, 3, 5, 6]
print(random.sample(list1, 1))  # [6]
print(random.sample(list1, 2))  # [5, 6]
print(random.sample(list1, 4))  # [2, 1, 6, 5]
print(list1)

random.randint() --是用来生成生成列表的随机数的,可以是数字也可以是数组

import numpy as np
a = np.random.randint(1, 10)
b = np.random.randint(1, 10, 1)  # 最后一个数字表示维度
print(a)  # 7
print(b)  # [6]

random.random()– 这个里面是没有参数的,就是随机生成一个小数的操作。

import random
c = random.random()
print(c)  # 0.7908201446976164

random.uniform(x, y) – 方法将随机生成一个实数,范围在[x, y] 之间

e = random.uniform(0, 1)
print(e)  # 0.6845445985915111

3、右移运算符的使用,经常在二分查找中使用

low = 2
high = 3
mid = (low + high) >> 1
print(mid)  # 2 生成的都是整数,类似于(low + high)/ 2向下取整

4、python当中简单的切片操作
[::1] <==> [a: b :1] 这样来理解即可,前面两个数字表示范围,后
一个表示步长

# 定义一个数组来模拟切片操作
list = [1, 2, 3, 4, 5, 6]
print(list[::1])  # [1, 2, 3, 4, 5, 6]
# 最后一位是步长的话表示的是对数组的逆转
# [a:b:-1] 本来写法应该是这样的,没有写a,b表示全部
print(list[::-1])  
print(list[1:5:2])  # 后面那一个步长是取值不到的
# 在切片操作中数组中最后一个数值对应的下标是-1,然后往前-2,-3,...
l4 = [3,5,1,6,2]
e4 = l4[-4:-2]
print(e4)  # [5, 1]

5、二维数组的测试,转置 + 行列长度的test

# 二维数组的一系列性质测试
import numpy as np
a = np.array([[1, 2, 3, 4],
              [4, 5, 6, 7],
              [7, 8, 9, 0],
              [7, 8, 9, 0],
              [7, 8, 9, 0]])
print(a)
# 对a矩阵进行转置?np_array.transpose()进行转置操作
# 转置 -- 行变成列
print(a.transpose()) 
# 对于二维矩阵长度的测试解决
print(len(a))  # 5, 没有具体指出是行还是列的话,就是行的长度
print(len(a[0]))  # 4  表示的是从上往下面数第一行有多少个元素
print(len(a[1]))  # 4  表示第二行一共有多少个元素
# 想要表示列的话,逗号前面取所有行,逗号后面的数字表示列
print(len(a[:,0]))  # 5 表示第一列有多少个元素

6、求取一个数组中的最大最小值,还是使用经典函数max和min

# 求取一个数组中的最大或者是最小值, 使用max() 或者是 min() ?
list = [1, 2, 34, 3, 5, 6, 7]
# 很明显使用max以及min函数就可以进行求解
print(max(list))  # 34
print(min(list))  # 1

一维数组是这样,二维数组也是一样的,也可以使用max或者是min求取一行/一列中最大或者是最小的元素

import numpy as np
# 在构建数组中间是用逗号隔开
a = np.array([[1, 2, 3],
             [4, 5, 6],
             [7, 8, 9]])
print(max(a[:, 0]))  # 7 -- 第一列中最大的数字
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296066.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号