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生成一维数组,二维数组相关推荐

  1. python随机生成二维列表_对python产生随机的二维数组实例详解

    对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...

  2. C# 指定格式的字符串截成一维数组(二维数组)的操作类

    指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...

  3. c 语言 二维数组地址,C/C++ 关于一维或二维数组首地址表示含义

    C/C++ 关于一维或二维数组首地址表示含义 发布时间:2020-06-26 10:35:21 来源:51CTO 阅读:210 作者:sonissa 这是一个经常会忘却的知识点,最近也一直在吃这方面的 ...

  4. c/c++教程 - 1.7 数组 一维数组 二维数组

    九.数组 数组:一个里面存放了相同类型数据元素的集合. 特点:每个数组中的元素都是相同的数据类型:数组是由连续的内存位置组成的. 注意:数组的下标是从0开始索引. 参考视频:https://www.b ...

  5. day06数组-一维数组二维数组

    数组:          数组到底是什么呢?有什么特点呢?通过上面的分析:我们可以得到如下两句话:                 1.数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. ...

  6. 数组(一维数组、多维数组/二维数组)和简单排序算法

    提示:数组是线性数据结构中最为基础,最为典型的一种顺序型结构. 它用一组连续的内存空间 ,来存储一组具有相同类型的数据. 与变量相比,变量是一种单一的数据存储方式,而数组是用于存储一连串的一组数据. ...

  7. 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )

    文章目录 一.指针数组 和 二维数组 数据 拷贝到 自定义二级指针 中 1.函数形参 设计规则 2.三种内存模型 对应 函数形参 指针退化规则 二.完整代码示例 一.指针数组 和 二维数组 数据 拷贝 ...

  8. php 二位数组随机,PHP多维数组 php打乱数组二维数组多维数组的简单实例

    php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 上面这个是针对二维数组的! 下面针对多维数组的乱序方法?尽可能的方便快速: 以下函数也是出自php手册,可 ...

  9. php 数组重新打乱_php打乱数组二维数组多维数组的简单实例

    php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了 function shuffle_assoc($list) { if (!is_array($list)) ...

  10. C语言数组——二维数组

    C语言目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分析 VS ...

最新文章

  1. JSP 客户端请求概述
  2. 10个你必须知道的jQueryMobile代码片段(转)
  3. Mobile OpenCart 自适应主题模板 ABC-0074
  4. Deep Learning论文笔记之(三)单层非监督学习网络分析
  5. java程序安装_java实现可安装的exe程序
  6. break与continue的的用法以及区别
  7. 理论基础 —— 查找 —— 顺序查找
  8. 【BZOJ2038】小Z的袜子,第一次的莫队算法
  9. GitHub使用:GitHub中watch star fork三个按钮干什么用的
  10. Spring+Struts集成(方案一)
  11. Spring中的Bean是如何被回收的?
  12. FastAPI中Jinjia2使用
  13. Finite State Transducer(FST)in NLP
  14. CTA-敏感行为-修改联系人(新建/更新/删除)
  15. 9.2 react受控组件和非受控组件
  16. Win11右键怎么直接打开所有选项?
  17. OV4689摄像头(MIPI)配置代码
  18. CarAudio音量调节详解
  19. rnnlm源码分析(七)
  20. 关于跨网闸数据同步的方式调研Java实现ModbusTCP通信

热门文章

  1. 切换Git(Gitee)账号
  2. 基于安卓手机使用Termux搭建web服务器教程
  3. 转 全国高校信息数据库,全国高校排序数据库
  4. Citavi、Endnote、Mendeley 功能大比拼!到底哪一款才是众望所归的终极文献管理软件?
  5. C字符串操作strlen/strnlen_s详解
  6. 比“5G有多快”更重要的,是5G将带来哪些改变
  7. java实现极简单的 TXT小说阅读器(第三版)
  8. 使用RestTemplate请求第三方接口出错,没抛出异常?
  9. oracle限定词,ORACLE诊断事件
  10. 多发性硬化功能磁共振成像