Python核心语法教程:二维列表

2022-07-2821:25:13编程语言入门到精通Comments1,591 views字数 2059阅读模式

二维列表是将其他列表当做列表的元素放在一个列表当中,也就是列表的嵌套。有接触过C或C++的可能了解数组这个概念,在Python中数组存在于第三方库中,因此在不安装第三方插件的前提下我们想要在Python中使用数组方法,就要采用二维列表这个方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

实际上列表中的元素可以是任何数据类型,我们看个例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
my_list = [[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]
print(my_list)

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
[[12345], 'dotcpp', {123}, ('www''dotcpp''com')]

在这个列表中包含了列表,字符串,集合,元组。当一个列表中的元素全部为列表的时候,是我们最常用的二维列表,下面会介绍几种二维列表的创建方法及其访问方式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

    1. 直接创建法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

直接创建法就是定义了列表名字之后直接进行输入,我们来定义一个简单的小键盘,即1-9:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
my_list = [[1,2,3],[4,5,6],[7,8,9]]
print(my_list)

输出为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
[[123], [456], [789]]

我们在理解的时候可以这样理解:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

索引012
0123
1456
2789

由图可以看,my_list[0]对应的就是[1,2,3],因此我们在访问1的时候,他对应的坐标就为(0,0),我们可以通过索引访问,即my_list[0][0],它的值对应的就是1,其他值访问的方式和它一样,像元素9对应的访问方式就为my_list[2][2]。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

    2. 循环创建法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

使用循环也可以实现而为列表的创建,通常会采用for循环来实现,我们来创建一个6*6的二维列表,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
3
4
5
6
7
my_list = []#先创建一个主列表
for in range(6):#循环遍历6次,依次为主列表的每个元素创建新的列表
    = []#先创建新列表并添加入主列表中
    my_list.append(j)
    for in range(1,7):
        j.append(m)#为子列表添加元素
print(my_list)#输出

输出为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
3
4
5
6
[[123456],
[123456], 
[123456], 
[123456], 
[123456], 
[123456]]

输出的实际结果应是在一行中,为了方便大家理解所以这样排列,大家也可以通过while循环尝试一下去创建一个二维列表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

    3. 列表推导创建法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

使用列表推导式也是可以创建二维列表的,上一节我们刚刚学习过列表推导式,因此我们可以直接使用这种方式来简化我们的代码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

我们再次创建一个六行六列的二维列表,它的代码就相对简洁很多,代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
my_list = [[i for in range(1,7)] for in range(1,7)]
print(my_list)

输出为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
3
4
5
6
[[123456],
[123456], 
[123456], 
[123456], 
[123456], 
[123456]]

这种方式的不仅节省时间还优化了代码,等同于循环创建了6个列表并赋予了6个值,最后他们是放在了一个列表中构成了二维列表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

    4. 例题文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

再通过一个例子来进一步了解一下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

我们想要创建一个6*6的列表,然后里面的值从1-100中随机取值。代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
3
4
5
6
7
8
9
import random #random属于系统库中的模块,可以随时调用,这里简单的了解一下
my_list = []#先创建列表
for in range(6):#循环创建6个列表并放入my_list中
    = []
    my_list.append(j)
    for in range(6):
        = random.randint(1,100)#调用了random中的一个生成随机数的方法,把生成的随意数的值赋给c
        j.append(c)#把c的值加入到列表j中
print(my_list)

输出为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

1
2
3
4
5
6
[[528315355460],
 [176177996050], 
 [88819617695], 
 [215220491061], 
 [94814827809], 
 [19457669597]]

这道题的思路和上面第二种方法是一致的,如果对列表推导式掌握的不熟练的同学可以在初期使用这种方式,它对比于前面的例子增添了一个随机取值功能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26183.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26183.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定