python中数组和列表的简单实例
作者:循环是人递归是神 发布时间:2021-04-15 20:04:42
标签:Python,数组,列表
#环境win64+anaconda+python3.6
list & array
(1)list不具有array的全部属性(如维度、转置等)
代码1:
#eg1_1
import numpy as np
a = np.array([[1,2,0,1],[1,6,9,55],[7,8,9,5]])#a为数组
print(a.T)
#Result:
[[ 1 1 7]
[ 2 6 8]
[ 0 9 9]
[ 1 55 5]]
#eg1_2
a = [[1,2,0,1],[1,6,9,55],[7,8,9,5]] #a为列表
print(a.T)
#Result:
'list' object has no attribute 'T'
代码2:
#eg1_3
import numpy as np
a=np.array([[1,2,3],[1,1,4],[1,5,1]])
print(a.shape)
#Result:
(3, 3)
#eg1_4
a=[[1,2,3],[1,1,4],[1,5,1]]
print(a.shape)
#Result
'list' object has no attribute 'shape'
(顺带一提,如何把一个数组转化为列向量:↓)
import numpy as np
a=np.array([[1,2,3],[1,1,4],[1,5,1]])
a=a.reshape(-1,1)
print(a)
#Result:
[[1]
[2]
[3]
[1]
[1]
[4]
[1]
[5]
[1]]
(2)a[:m]的含义,a可以是列表或者数组,但是无论是哪种情况,a[:0]为空
#eg2_1
import numpy as np
a=np.array([[4,1,2],
[7,4,10],
[12,17,88]])
#a=np.array([(4,1,2),
# (7,4,10),
# (12,17,88)]) 这两个a中[和(不一样,其实它们完全一样
print(a[:0])
print(a[:1])
print(a[:2])
#Result:
[]
[[4 1 2]]
[[ 4 1 2]
[ 7 4 10]]
#eg2_1
a=[(4,1,2),(7,4,10),(12,17,88)]
print(a[:0])
print(a[:1])
print(a[:2])
#Result:
[]
[(4, 1, 2)]
[(4, 1, 2), (7, 4, 10)]
(3)array和list关于“==”的计算
#eg3_1
import numpy as np
a=np.array(['dog','cat','car'])
b=np.array(['dog','cat','trunk'])
acc = (np.mean(a == b))
print(acc)
#Result
0.6666666666666666
#eg3_2
import numpy as np
a=['dog','cat','car']
b=['dog','cat','trunk']
acc = (np.mean(a == b))
print(acc)
#Result
0.0
(4)array和list关于“*”的计算
from numpy import *
#a为数组
a=array([[1,2,3],
[4,5,6]])
b=4*a
print(b)
[[ 4 8 12]
[16 20 24]]
from numpy import *
#a为列表
a=([[1,2,3],
[4,5,6]])
b=4*a
print(b)
[[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]]
python列表和Numpy数组的区别
1、二者都可以用于处理多维数组。
Numpy中的ndarray对象用于处理多维数组,它作为一个快速而灵活的大数据容器。Python列表可以存储一维数组,通过列表的嵌套可以实现多维数组。
2、存储效率和输入输出性能不同。
Numpy专门针对数组的操作和运算进行了设计,存储效率和输入输出性能远优于Python中的嵌套列表,数组越大,Numpy的优势就越明显。
3、元素数据类型。
通常,Numpy数组中的所有元素的类型都必须相同的,而Python列表中的元素类型是任意的,所以在通用性能方面Numpy数组不及Python列表,但在科学计算中,可以省掉很多循环语句,代码使用方面比Python列表简单的多。
来源:https://blog.csdn.net/qq_35752161/article/details/83004587


猜你喜欢
- 总结常用基本点如下: 1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML触发器)。 DDL触发器:在用户对
- 前言个人一直觉得对学习任何知识而言,概念是相当重要的。掌握了概念和原理,细节可以留给实践去推敲。掌握的关键在于理解,通过具体的实例和实际操作
- Git修改已提交的commit注释两种情况:修改最后一次注释1、在命令行输入如下命令,然后回车:git commit --amend2、在命
- 一、定义协程asyncio 执行的任务,称为协程,但是Asyncio 并不能带来真正的并行Python 的多线程因为 GIL(全局解释器锁)
- 前言这里要说明一下,本文包含的代码其中一部分并不是自己写的,是我找了很多文章拼凑出来的,比如如何找相同内容的单元格、怎么合并、怎么居中等等。
- 301和302 Http状态有啥区别?301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:301 redir
- 本文实例讲述了windows下Python实现将pdf文件转化为png格式图片的方法。分享给大家供大家参考,具体如下:最近工作中需要把pdf
- 一、获取二叉树的深度就是二叉树最后的层次,如下图:实现代码:def getheight(self): &n
- 本节内容深浅拷贝循环方式字典常用方法总结一、深浅拷贝列表、元组、字典(以及其他)对于列表、元组和字典而言,进行赋值(=)、浅拷贝(copy)
- 本文实例为大家分享了JavaScript实现简易轮播图效果的具体代码,供大家参考,具体内容如下全部代码:<!DOCTYPE html&
- 目录安装PyPDF2模块创建文件,准备PDF文档万事俱备,准备开拆文档的拆分思路python拆分计算公式:具体怎么拆?完整拆分程序:列表拆分
- 本文实例讲述了js实现简单的联动菜单效果。分享给大家供大家参考。具体如下:这是一个最简单的js联动菜单代码,在DW里可以自动生成,不想在DW
- 网上asp加密字符的MD5很多,也很普遍,因为受到asp语言本身的限制,对文件进行md5介绍的文章很少,本文通过2种方式来谈谈如何通过asp
- 前言:创建进程池可以形象地理解为创建一个并行的流水线,只需创建一次流水线的消耗,处理接收到的任务的,不使用进程池。 ,浪费时间。中方本来没有
- tensorflow利用anaconda在ubuntu下安装方法及jupyter notebook运行目录及远程访问配置Ubuntu下安装A
- 基本环境配置python 3.6pycharmrequestsparseltime相关模块pip安装即可确定目标网页数据哦豁,这个价格...
- 学习PHP就不得不提MySQL,虽然有phpMyadmin这样的工具可以图形化操作数据库,但我还是想借学习PHP的机会使用下命令行方式操作数
- --建递增序列CREATE SEQUENCE LZEAM_SP_LOOP_EQ_SEQ MINVALUE 1 INCREMENT BY 1
- 隔离级别:隔离性其实比想象的要复杂。 在SQL标准中定义了四种隔离级别, 每一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见
- 前言我们今天来介绍一个js案例,本文仅供学习参考,大家谨慎使用。 我们先认识一下,什么是js逆向。JavaScript 逆向是指对 Java