Python之二维数组(list与numpy.array)
发布日期:2021-10-07 11:13:30
浏览次数:10
分类:技术文章
本文共 1264 字,大约阅读时间需要 4 分钟。
1、python中的二维数组,主要有list和numpy.array两种
>>import numpy as np>>a=[[1,2,3],[4,5,6],[7,8,9]]>>a[[1,2,3],[4,5,6],[7,8,9]]>>type(a)>>b=np.array(a)"""List 转为 array""">>type(b) >>barray=([[1,2,3], [4,5,6], [7,8,9]])
-
2、list对应的索引输出情况:
>>a[1][1]5>>a[1][4,5,6]>>a[1][:][4,5,6]>>a[1,1]"""相当于a[1,1]被认为是a[(1,1)],不支持元组索引"""Traceback (most recent call last): File "", line 1, in TypeError: list indices must be integers, not tuple>>a[:,1]Traceback (most recent call last): File " ", line 1, in TypeError: list indices must be integers, not tuple
-
3、numpy.array对应的索引输出情况:
>>b[1][1]5>>b[1]array([4,5,6])>>b[1][:]array([4,5,6])>>b[1,1]5>>b[:,1]array([2,5,8])
- 对比可以看出, numpy.array支持比list更多的索引方式,这也是我们最经常遇到的关于两者的区别。此外从上可以了解到“由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],有3个指针和3个整数对象。”
-
4、先看一段代码
-
先看一段代码>>array = [0, 0, 0]>>matrix = [array*3]## [[0,0,0,0,0,0,0,0,0]]这段代码其实没有新建一个二维数组再看一段代码>>array = [0, 0, 0]>>matrix = [array] * 3## [[0, 0, 0], [0, 0, 0], [0, 0, 0]]咋一看这段代码应该创建一个二维数组了测试一下>>matrix[0][1] = 1>>print matrix## [[0, 1, 0], [0, 1, 0], [0, 1, 0]]照理matrix[0][1]修改的应该只是二维数组中的一个元素,但是测试结果表明,修改的是每个List的第二个元素。
matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。
转载地址:https://blog.csdn.net/mingyuli/article/details/81238986 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年03月28日 17时46分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
开发中文 API 的一些策略
2019-04-26
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一)
2019-04-26
中文命名标识符如何区分类型和变量
2019-04-26
编程术语成系统中文化的意义
2019-04-26
草蟒 Python 中文 API 与 IDE 支持尝鲜
2019-04-26
一种改进中文 API 可读性的方法:参数不限于在末尾
2019-04-26
中文编程开发工具的生存模式探讨
2019-04-26
写给木兰编程语言研发团队的公开信
2019-04-26
为什么要急着为「木兰」编程语言贴上“造假”的标签?
2019-04-26
编程语言国产化的关键一战——对肆意污名化“木兰”编程语言说“不”
2019-04-26
各大媒体对「木兰」编程语言的不当言论盘点
2019-04-26
戳破针对「木兰」编程语言的拙劣谣言
2019-04-26
为「木兰」编程语言添加对中文命名标识符的支持
2019-04-26
悬赏万元,重现「木兰」编程语言编译器
2019-04-26
跳出编程语言本身看中文编程语言设计
2019-04-26
RPLY 入门例程中文化
2019-04-26
木兰编程语言入门教程之一——浅介
2019-04-26
木兰编程语言入门教程之二——控制走向
2019-04-26
基于「木兰」编译器,加十行代码实现 ∈ (属于集合)语法
2019-04-26
创建安卓键盘演示——“好不”
2019-04-26