python生成一维数组,二维数组
1. 列表
a1=[[0] * 5]
print(a1)
print(type(a1))
#输出:
[[0, 0, 0, 0, 0]]
<class 'list'>
type是内置函数,不是属性
na=[[1,2,3],[1,0,8]]
print(type(na))
#输出:
<class 'list'>
na=[[] for i in range(3)]
print(na)
print(type(na))
#输出:
[[], [], []]
<class 'list'>
a2=[[0] * 2 for i in range(5)]
print(a2)
print(type(a2))
#输出:
[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]
<class 'list'>
range(start,end,step),step可选,默认为1,而且返回的是一个可迭代对象,不会返回(1,2,3,4)
arange(start,end, step)是numpy中的方法,start 和step可选,start默认为0,step默认为1,返回整数
num=[[0 for j in range(0,5)] for i in range(1,4)]
print(num)
print(type(num))
print(shape(num))
num[2][1]=1
print(num)
#output:
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
<class 'list'>
(3, 5)
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 1, 0, 0, 0]]
虽然上面为列表,但是使用方式和数组类似,因为元素都是数值
2.一维数组
from array import array
from random import random
a3=array('d',(random() for i in range(5)))
print(a3)
print(type(a3))
###输出:
array('d', [0.9039115167941374, 0.009215841641880607, 0.4544170363282648, 0.14758999686503704, 0.931140823087381])
<class 'array.array'>
其中d是表示存储的方式,如果array()里只有一个参数,生成数组的推导式不用加圆括号,如果有两个参数,则必须加圆括号
random()生成0到1之间的随机数
3.二维数组
用numpy生成二维数组
写法也是错误的,
import numpy as np
a3=np.array([[]*5,[]*2])
print(a3)
print(shape(a3))
print(type(a3))
#output:
[]
(2, 0)
<class 'numpy.ndarray'>
上面的例子说明,不能创建空的二维数组,而且外表是数组,内里其实是列表
import numpy as np
a3=np.array([[0]*5,[0]*2])
print(a3)
print(shape(a3))
print(type(a3))
import numpy
a3=array([[1,2,3,4,5],[4,2,3,7,2]])
# print(a3)
print(type(a3))
#输出:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-74-efd07443feda> in <module>
TypeError: array() argument 1 must be a unicode character, not list
上面直接使用array(),而没有使用np.array(),结果错误。
下面使用np.array()创建,结果正确
import numpy as np
a3=np.array([[1,2,3,4,5],[4,2,3,7,2]])
print(a3)
print(type(a3))
#output:
[[1 2 3 4 5][4 2 3 7 2]]
<class 'numpy.ndarray'>
尝试创建空的二维数组
import numpy as np
a3=np.array([[],[],[]])
print(a3)
print(shape(a3))
print(type(a3))
a3[2][0]=2
print(a3)
#output:
[]
(3, 0)
<class 'numpy.ndarray'>
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-92-1cee0be7ecc5> in <module>4 print(shape(a3))5 print(type(a3))
----> 6 a3[2][0]=27 print(a3)IndexError: index 0 is out of bounds for axis 0 with size 0
上面的例子说明,不能创建空的二维数组,因为这意味着列值为0,无法添加元素。所以如果需要使用二维数组一定要赋值,但其实也可以用两层的列表
定义一个3×1的二维数组
import numpy as np
a3=np.array([[1],[1],[1]])
print(a3)
print(shape(a3))
print(type(a3))
a3[2][0]=2
print(a3)
#output:
[[1][1][1]]
(3, 1)
<class 'numpy.ndarray'>
[[1][1][2]]
定义一个3×5或者3*500的二维数组
优点是可以应对列为很大的值的数组,缺点是对行值很大的数组无能无力
import numpy as np
col=5
a3=np.array([[0]* col,[0]*col,[0]*col])
print(a3)
print(shape(a3))
print(type(a3))
a3[2][0]=2
print(a3)
#output:
[[0 0 0 0 0][0 0 0 0 0][0 0 0 0 0]]
(3, 5)
<class 'numpy.ndarray'>
[[0 0 0 0 0][0 0 0 0 0][2 0 0 0 0]]
python生成一维数组,二维数组相关推荐
- python随机生成二维列表_对python产生随机的二维数组实例详解
对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...
- C# 指定格式的字符串截成一维数组(二维数组)的操作类
指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...
- c 语言 二维数组地址,C/C++ 关于一维或二维数组首地址表示含义
C/C++ 关于一维或二维数组首地址表示含义 发布时间:2020-06-26 10:35:21 来源:51CTO 阅读:210 作者:sonissa 这是一个经常会忘却的知识点,最近也一直在吃这方面的 ...
- c/c++教程 - 1.7 数组 一维数组 二维数组
九.数组 数组:一个里面存放了相同类型数据元素的集合. 特点:每个数组中的元素都是相同的数据类型:数组是由连续的内存位置组成的. 注意:数组的下标是从0开始索引. 参考视频:https://www.b ...
- day06数组-一维数组二维数组
数组: 数组到底是什么呢?有什么特点呢?通过上面的分析:我们可以得到如下两句话: 1.数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...
- 数组(一维数组、多维数组/二维数组)和简单排序算法
提示:数组是线性数据结构中最为基础,最为典型的一种顺序型结构. 它用一组连续的内存空间 ,来存储一组具有相同类型的数据. 与变量相比,变量是一种单一的数据存储方式,而数组是用于存储一连串的一组数据. ...
- 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )
文章目录 一.指针数组 和 二维数组 数据 拷贝到 自定义二级指针 中 1.函数形参 设计规则 2.三种内存模型 对应 函数形参 指针退化规则 二.完整代码示例 一.指针数组 和 二维数组 数据 拷贝 ...
- php 二位数组随机,PHP多维数组 php打乱数组二维数组多维数组的简单实例
php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 上面这个是针对二维数组的! 下面针对多维数组的乱序方法?尽可能的方便快速: 以下函数也是出自php手册,可 ...
- php 数组重新打乱_php打乱数组二维数组多维数组的简单实例
php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 function shuffle_assoc($list) { if (!is_array($list)) ...
- C语言数组——二维数组
C语言目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分析 VS ...
最新文章
- JSP 客户端请求概述
- 10个你必须知道的jQueryMobile代码片段(转)
- Mobile OpenCart 自适应主题模板 ABC-0074
- Deep Learning论文笔记之(三)单层非监督学习网络分析
- java程序安装_java实现可安装的exe程序
- break与continue的的用法以及区别
- 理论基础 —— 查找 —— 顺序查找
- 【BZOJ2038】小Z的袜子,第一次的莫队算法
- GitHub使用:GitHub中watch star fork三个按钮干什么用的
- Spring+Struts集成(方案一)
- Spring中的Bean是如何被回收的?
- FastAPI中Jinjia2使用
- Finite State Transducer(FST)in NLP
- CTA-敏感行为-修改联系人(新建/更新/删除)
- 9.2 react受控组件和非受控组件
- Win11右键怎么直接打开所有选项?
- OV4689摄像头(MIPI)配置代码
- CarAudio音量调节详解
- rnnlm源码分析(七)
- 关于跨网闸数据同步的方式调研Java实现ModbusTCP通信
热门文章
- 切换Git(Gitee)账号
- 基于安卓手机使用Termux搭建web服务器教程
- 转 全国高校信息数据库,全国高校排序数据库
- Citavi、Endnote、Mendeley 功能大比拼!到底哪一款才是众望所归的终极文献管理软件?
- C字符串操作strlen/strnlen_s详解
- 比“5G有多快”更重要的,是5G将带来哪些改变
- java实现极简单的 TXT小说阅读器(第三版)
- 使用RestTemplate请求第三方接口出错,没抛出异常?
- oracle限定词,ORACLE诊断事件
- 多发性硬化功能磁共振成像