在 Python 中打印矩阵
矩阵在数学和统计学中被大量使用,用于数据表示和求解多个线性方程。在编程中,二维数组被视为矩阵。
在 Python 中,我们有许多函数和类可用于对矩阵执行不同的操作。在本教程中,我们将学习如何在 Python 中打印矩阵。
我们在下面的代码中演示了如何在 Python 中使用所有方括号且没有适当的间距来打印二维数组。
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
print(a)
输出:
[[1 2 3]
[3 4 5]
[7 8 9]]
在下面讨论的方法中,我们将以干净的矩阵类型格式打印数组。
在 Python 中使用 for
循环打印矩阵
此方法将使用 for
循环遍历矩阵,并在正确格式化其格式后逐行打印每一行。以下代码显示了如何来做。
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
for line in a:
print(" ".join(map(str, line)))
输出:
1 2 3
3 4 5
7 8 9
我们使用 map
函数,将整个行转换为字符串,然后对整个行应用 join
函数,将其全部转换为单个字符串,并通过指定的分隔符将元素分隔开。
在 Python 中使用列表推导方法打印矩阵
列表推导为在单行代码中使用列表提供了一种简洁而优雅的方法。
该方法也使用 for
循环,但被认为比以前使用它的速度要快一些,就像以前的方法一样。
以下面的代码为例。
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
print("\n".join(["".join(["{:4}".format(item) for item in row]) for row in a]))
输出:
1 2 3
3 4 5
7 8 9
尽管上面的代码使用的功能几乎与以前的方法相同,但是这样做的效率更高,并且可以一行完成。另一个主要区别是这里使用的 format()
函数在字符串元素之间提供必要的间距。
下面显示了使用此方法的另一种方法。在这里,我们将代码分别分成几行,并尝试使矩阵类似于表状结构。
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
s = [[str(e) for e in row] for row in a]
lens = [max(map(len, col)) for col in zip(*s)]
fmt = "\t".join("{{:{}}}".format(x) for x in lens)
table = [fmt.format(*row) for row in s]
print("\n".join(table))
输出:
1 2 3
3 4 5
7 8 9
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串