列表——嵌套

未匹配的标注

Python核心数据类型的一个好功能是支持任意的嵌套——能以任何组合嵌套它们,且要多深有多深。比如,可以有一个包含一个字典的列表,该字典包含另一个列表,以此类推。这个功能的一个直接应用是代表矩阵,或Python中的“多维数组”。

具有嵌套列表的列表将完成基本应用程序的工作(在一些界面,但不是在IDLE中,将在下面的行2和行3上得到“...”延续行提示符):

>>> M = [[1, 2, 3], # 一个 3 x 3 的矩阵,作为嵌套列表
         [4, 5, 6], # 如果被方括号包裹,代码可以跨行
         [7, 8, 9]]
>>> M
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

这里已经编码了一个包含三个其他列表的列表。效果是代表了一个3 x 3的数字矩阵。这个结构可以用许多方式访问:

>>> M[1] # 获得行2
[4, 5, 6]
>>> M[1][2] # 获得行2行中的第3项
6

这里第一个操作获取了整个第二行,然后第二个操作从该行中抓取第三项(它从左向右运行,就像早前的字符串剥离和分割一样)。将索引操作连结起来让我们越来越深入到嵌套对象结构中[13]。


[13]: 这个矩阵结构适用于小规模任务,但对更大规模的数字运算,你很可能想要使用Python的一个数字插件,如开源NumPySciPy 系统。这些工具能比嵌套列表结构更有效地存储和处理大矩阵。NumPy被宣称为相当于将Python转变为一个免费的和更强大版本的 Matlab 系统的等价物,并且如NASA,Los Alamos,JPL和许多其他组织使用这个工具来完成科学和财务任务。上网获取更多细节。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~