二维列表是将其他列表当做列表的元素放在一个列表当中,也就是列表的嵌套。有接触过C或C++的可能了解数组这个概念,在Python中数组存在于第三方库中,因此在不安装第三方插件的前提下我们想要在Python中使用数组方法,就要采用二维列表这个方法。

实际上列表中的元素可以是任何数据类型,我们看个例子:my_list = [[1,2,3,4,5],'dotcpp',{1,2,3,},('www','dotcpp','com')]

print(my_list)

输出结果为:[[1, 2, 3, 4, 5], 'dotcpp', {1, 2, 3}, ('www', 'dotcpp', 'com')]

在这个列表中包含了列表,字符串,集合,元组。当一个列表中的元素全部为列表的时候,是我们最常用的二维列表,下面会介绍几种二维列表的创建方法及其访问方式。

1. 直接创建法

直接创建法就是定义了列表名字之后直接进行输入,我们来定义一个简单的小键盘,即1-9:my_list = [[1,2,3],[4,5,6],[7,8,9]]

print(my_list)

输出为:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

我们在理解的时候可以这样理解:索引012

0123

1456

2789

由图可以看,my_list[0]对应的就是[1,2,3],因此我们在访问1的时候,他对应的坐标就为(0,0),我们可以通过索引访问,即my_list[0][0],它的值对应的就是1,其他值访问的方式和它一样,像元素9对应的访问方式就为my_list[2][2]。

2. 循环创建法

使用循环也可以实现而为列表的创建,通常会采用for循环来实现,我们来创建一个6*6的二维列表,

代码如下:my_list = []#先创建一个主列表

for i in range(6):#循环遍历6次,依次为主列表的每个元素创建新的列表

j = []#先创建新列表并添加入主列表中

my_list.append(j)

for m in range(1,7):

j.append(m)#为子列表添加元素

print(my_list)#输出

输出为:[[1, 2, 3, 4, 5, 6],

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

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

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

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

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

输出的实际结果应是在一行中,为了方便大家理解所以这样排列,大家也可以通过while循环尝试一下去创建一个二维列表。

3. 列表推导创建法

使用列表推导式也是可以创建二维列表的,上一节我们刚刚学习过列表推导式,因此我们可以直接使用这种方式来简化我们的代码。

我们再次创建一个六行六列的二维列表,它的代码就相对简洁很多,代码如下:my_list = [[i for i in range(1,7)] for j in range(1,7)]

print(my_list)

输出为:[[1, 2, 3, 4, 5, 6],

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

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

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

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

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

这种方式的不仅节省时间还优化了代码,等同于循环创建了6个列表并赋予了6个值,最后他们是放在了一个列表中构成了二维列表。

4. 例题

再通过一个例子来进一步了解一下。

我们想要创建一个6*6的列表,然后里面的值从1-100中随机取值。代码如下:import random #random属于系统库中的模块,可以随时调用,这里简单的了解一下

my_list = []#先创建列表

for i in range(6):#循环创建6个列表并放入my_list中

j = []

my_list.append(j)

for k in range(6):

c = random.randint(1,100)#调用了random中的一个生成随机数的方法,把生成的随意数的值赋给c

j.append(c)#把c的值加入到列表j中

print(my_list)

输出为:[[52, 83, 15, 35, 54, 60],

[17, 61, 77, 99, 60, 50],

[88, 81, 9, 61, 76, 95],

[21, 52, 20, 49, 10, 61],

[94, 81, 48, 27, 80, 9],

[1, 94, 57, 66, 95, 97]]

这道题的思路和上面第二种方法是一致的,如果对列表推导式掌握的不熟练的同学可以在初期使用这种方式,它对比于前面的例子增添了一个随机取值功能。

5. 总结

关于二维列表,这一点对于要参加竞赛的同学很重要,不管是之后遇到迷宫问题还是2n皇后问题,都离不开二维列表的使用,因此在这里先简单的介绍一下,大家在可以初步了解,在后续竞赛题中会有关于这两种类型题的讲解,当然也能更进一步的去了二维列表。

python二维列表添加元素_二维列表 - Python教程 - C语言网相关推荐

  1. 二维码简介_二维码基本概念_二维码基本原理

    一.二维码简介_二维码基本概念_二维码基本原理 1.二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Ba ...

  2. java二维数组添加元素_Java二维数组与动态数组ArrayList类详解

    java二维数组 java 语言中提供的数组是用来存储固定大小的同类型元素. 1.二维数组初始化和声明 数组变量的声明,和创建数组可以用一条语句完成,如下所示: int a[][] = new int ...

  3. python怎么复数乘方开方_运维必须掌握的 Python 宝典:值得每天复习一遍

    前言 本文旨在更好地总结 Python 基础知识,力求简明扼要,以供实战演练时能够快速查询遗忘的知识点. 学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分, ...

  4. python 自动运维架构师_运维架构师-Python 自动化运维开发-031

    *运维架构师-Python 自动化运维开发-031 十九.Python3 操作数据库 1.Python3 操作 MySQL 1.基本介绍Python3 操作 MySQL 数据库 可以使用的模块是 py ...

  5. 运维拜年口号_运维部口号

    关于桌面和系统运维服务口号 高效运维=技术+流程规范+方法技巧机房运维按时做,网络顺畅不会错预防障碍的发生,促进机房的正常运转增强员工对设备的了解,提高检点能力来自:云雀运维 电力局变电运维班是干什么 ...

  6. 运维拜年口号_运维口号(运维服务口号大全)

    运维口号(运维服务口号大全) 2020-05-07 22:16:57 共10个回答 以十分运维四个字,组成8个字的口号.来帮下忙给高分 十分运维,九州风行十分运维,精彩十分十分运维,选择无憾 机房运维 ...

  7. 运维拜年口号_运维的口号(运维服务口号大全)

    运维的口号(运维服务口号大全) 2020-05-07 22:18:29 共10个回答 以十分运维四个字,组成8个字的口号.来帮下忙给高分 十分运维,九州风行十分运维,精彩十分十分运维,选择无憾 机房运 ...

  8. 趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章

    第1章 Python不是大蟒蛇 1.1 关于计算机语言 计算机程序是一组让计算机执行某种动作的指令.软件就是计算机程序的集合. 一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能 ...

  9. python处理excel的书籍_从Excel到Python:用Python轻松处理Excel数据

    目录 第1章 Python基础--学习Python必知必会1 1.1 什么是Python2 1.2 为什么要学习用Python处理Excel表格2 1.3 手把手教你安装Python2 1.3.1 下 ...

最新文章

  1. svd协同过滤java实现_利用 SVD 实现协同过滤推荐算法
  2. python pillow库_python pillow模块用法
  3. fabric go sdk 依赖的安装_从这些角度看 Go 是一门很棒的语言
  4. 剑指offer之C语言实现链表(两种方式)
  5. leetcode881. 救生艇(贪心算法加双指针)
  6. 小程序分享如何自定义封面?
  7. 网页表单回车自动提交问题
  8. nginx配置ssl证书的方法
  9. (转)为什么云会停止计算?从数以百计的服务中断中得来的教训
  10. android nv21 nv12,android - 将NV21转换为NV12并旋转90度通过libyuv? - 堆栈内存溢出
  11. 2022年上半年软考开始报名啦
  12. 基于Arduino的智能环境监测与反馈系统
  13. ffmpeg将amr文件转成mp3文件
  14. 从TCL的40年变革史,看中国制造之路
  15. 【rmzt:杀个浠巴烂win7主题】
  16. Python数据处理
  17. 开发落网电台windows phone 8应用的计划(2)
  18. mhp2nbsp;BOSS属性列表+部分BOSS打法
  19. echarts词云图实现
  20. MSF for MAC 百度云下载链接

热门文章

  1. Nokia Booklet 3G终于发货
  2. C语言用代码实现 简易计算器求 加法乘法除法平方根幂
  3. 实验一:传智播客设计学院简介
  4. c语言gettagbit的作用,C语言给VB传递字符串
  5. EXCEL中如何按字体做筛选
  6. JZOJ-senior-5953. 【NOIP2018模拟11.5A组】生死之境
  7. 河北有哪学计算机的好的大学,河北省有哪些好点的大学?
  8. 日本领先的汽车行业制造商Ohyama使用NCspeed提效和减少刀具破损均在20以上
  9. 华为云WeLink智能语音助手专题(下篇:WeLink智能助手如何配置智能问答?)
  10. Python交叉分析学习笔记