返回介绍

列表解析和矩阵

发布于 2024-01-29 22:24:16 字数 1256 浏览 0 评论 0 收藏 0

让我们看一个更高级的列表解析应用,来进一步学习。使用Python编写矩阵(也被称为多维数组)的一个基本的方法就是使用嵌套的列表结构。例如,如下代码使用嵌套列表的列表定义了两个3×3的矩阵。

使用这样的结构,我们总是能够索引行,以及索引行中的列,使用通常的索引操作。

那么,列表解析也是处理这样结构的强大的工具,因为它将会自动为我们扫描行和列。例如,尽管这种结构通过行存储了矩阵,为了选择第二列,我们能够简单地通过对行进行迭代,之后从所需要的列中提取出元素,或者就像下面一样通过在行内的位置进行迭代。

给出了位置的话,我们能够简单地执行像提取出对角线位置的元素这样的任务。下面的表达式使用range来生成列表的偏移量,并且之后使用相同的行和列来进行索引,取出了M[0][0],之后是M[1][1](我们假设矩阵有相同数目的行和列)。

最后,我们使用列表解析来混合多个矩阵。下面的首行代码创建了一个单层的列表,其中包含了矩阵对元素的乘积,然后通过嵌套的列表解析来构建具有相同值的一个嵌套列表结构。

最后一个表达式是有效的,因为row迭代是外层的循环。对于每个row,它运行嵌套的列的迭代来创建矩阵每一行的结果。它等同于如下的基于语句的代码。

与这些语句相比,列表解析这个版本只需要一行代码,而且可能对于大型矩阵来说,运行相当快,我们对这些可能会糊涂,那么请进行下一部分的学习。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文