所在的位置: python >> python发展 >> 0基础学python55

0基础学python55

#创作者招募令#

第五十五节:Python的“二维列表的使用”

在前面的学习中已经了解到,列表中的元素也可以允许是列表。这样,当列表中的元素全部是列表的情况,被称之为“二维列表”。

下面图中的档案柜,整体可以看作是一个列表,它又可以分为5行4列,每一行可以看作一个列表,每一列又可以看作一个列表,这就是一个典型的“二维列表”。

例图1

以年份加序号,可以完整的表述上图中的这个档案柜列表,实例见下图:

例图2

虽然用直接赋值的方法直接设定创建了这个列表,但这是最简单也是重复劳动最多的办法,在已经学习过列表的各种使用方法的情况下,可以根据其中档案柜编码的规律使用这几节课学过的代码语句来设定和创建“二维列表”。

首先,尝试使用for循环语句来设定这个档案柜的二维列表代码。

通过观察,可以发现档案柜编码的规律是年份加上两位升序尾号的六位数数值,比如说最下面一行的第一个柜子编号时,第二个是,第三个是,第三个是,;而倒数第二行的第一个柜子编号为,第二个是,直到第四个;以此类推倒数第三行的是~、倒数第四行……

这样就可以得到一个公式:每行小档案柜的编号=行数*++列数。

利用这个规律,可以使用for循环语句直接创建这个档案柜的二维列表。

详细的代码见下图:

例图3

这样,就直接得到了这个档案柜编号的二维列表,不用重复的输入一连串的数字了。

接着,尝试使用上节课学过的“列表推导式”来写代码直接创建这个档案柜二维列表。

例图4

从上图可以看出设定列表元素内容的公式不变,但是直接使用“列表推导式”看起来要简洁的多。

学到这里有一点模模糊糊的感觉,好像“列表推导式”实际上就是给列表名赋值,只不过是以公式的形式赋值。

上面都是以数值列表作为例子来展示“二维列表”的创建方法,就下来看看字符串的“二维列表”应用。

中华文化博大精深,在古时候,我们祖先的书籍阅读顺序实际上是从上到下、从右到左的,而在古诗词中,五言七言诗句都可以转换成行列整齐的列表来使用,现在选择一首苏轼所作七言绝句《题西林壁》,使用二维列表的方式将其展现出来,并且转换成古籍的竖版阅读顺序输出看看,代码和执行结果详见下图:

例图5

上面在将全诗的每一个字符、包括空格和标点符号,全部转换成了列表中的一个独立元素,一开始输出的第一段就是这样的形式;

然后通过for循环和if语句的判断,设定好了开始和结束的位置,输出了横版的整齐排序的诗句;

接着使用内置函数reverse()将原来的二维列表整个反向排列了一下,就是输出的完全看不出任何字面意思的第三段内容;

最后再使用for循环和if选择语句将反向排列的二维列表设定位置输出,就得到了最终的竖版排列整齐的诗句,这就是真正的古籍排列方式:从上到下、从右到左,而且古代是没有标点符号的哟。

“列表”的学习就在此告一段落,明天要开始学习的是Python另一种序列:“元组”,首先是“元组的创建和删除”,请拭目以待。

为自己加油!我是“学海无涯,自学不息!”

零基础学Python(全彩版)新手的福音,简单的深入,体验愉快的视频学习。京东月销量0好评率99%无理由退换京东配送官方店¥69.4购买


转载请注明:http://www.aierlanlan.com/tzrz/1646.html

  • 上一篇文章:
  •   
  • 下一篇文章: