Python - 二维数组(2-D)

Python - 二维数组(2-D) 首页 / 数据结构入门教程 / Python - 二维数组(2-D)

二维数组是数组内的数组,在这种类型的数组中,数据元素的位置由两个索引而不是一个索引引用。

考虑每天记录4次温度的示例,有时记录仪可能有故障,无涯教程无法记录数据,可以将以下4天的此类数据表示为二维数组。

Day 1 - 11 12 5 2 
Day 2 - 15 6 10 
Day 3 - 10 8 12 5 
Day 4 - 12 15 8 6 

上面的数据可以如下表示为二维数组。

T=[[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

访问值

可以使用两个索引来访问两个二维数组中的数据元素,一个索引引用主数组或父数组,另一个索引引用数据元素在内部数组中的位置。 如果仅提及一个索引,则将为该索引位置打印整个内部数组。下面的示例说明了它是如何工作的。

from array import *

T=[[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

print(T[0])

print(T[1][2])

执行以上代码后,将产生以下输出-

无涯教程网

[11, 12, 5, 2]
10

要打印出整个二维数组,无涯教程可以使用python for循环,如下所示。使用行尾来打印不同行中的值。

from array import *

T=[[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
for r in T:
    for c in r:
        print(c,end=" ")
    print()

执行以上代码后,将产生以下输出-

无涯教程网

11 12 5 2 
15 6 10 
10 8 12 5 
12 15 8 6 

插入值

通过使用insert()方法并指定索引,无涯教程可以在特定位置插入新的数据元素,在下面的示例中,在索引位置2插入了一个新的数据元素。

from array import *
T=[[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

T.insert(2, [0,5,11,13,6])

for r in T:
    for c in r:
        print(c,end=" ")
    print()

执行以上代码后,将产生以下输出-

无涯教程网

11 12 5 2 
15 6 10 
0 5 11 13 6 
10 8 12 5 
12 15 8 6 

更新值

可以通过使用数组索引重新分配值来更新整个内部数组或内部数组的某些特定数据元素。

from array import *

T=[[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

T[2]=[11,9]
T[0][3]=7
for r in T:
    for c in r:
        print(c,end=" ")
    print()

执行以上代码后,将产生以下输出-

无涯教程网

11 12 5 7 
15 6 10 
11 9 
12 15 8 6 

删除值

通过使用带有index的del()方法重新分配值,无涯教程可以删除整个内部数组或内部数组的某些特定数据元素。

链接:https://www.learnfk.comhttps://www.learnfk.com/python-data-structure/python-2darray.html

来源:LearnFk无涯教程网

from array import *
T=[[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

del T[3]

for r in T:
    for c in r:
        print(c,end=" ")
    print()

执行以上代码后,将产生以下输出-

无涯教程网

11 12 5 2 
15 6 10 
10 8 12 5 

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开发一款iOS App -〔朱德权〕

Web协议详解与抓包实战 -〔陶辉〕

SRE实战手册 -〔赵成〕

WebAssembly入门课 -〔于航〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

MySQL 必知必会 -〔朱晓峰〕

爆款文案修炼手册 -〔乐剑峰〕

运维监控系统实战笔记 -〔秦晓辉〕

后端工程师的高阶面经 -〔邓明〕

好记忆不如烂笔头。留下您的足迹吧 :)