Python 程序旋转图像2025年3月17日 | 阅读 3 分钟 在本教程中,我们将编写 Python 程序来解决图像(矩阵)的旋转问题。这是一个与矩阵相关的问题。让我们来理解问题陈述。 问题陈述一个 nxn 的二维矩阵代表一个图像。我们需要将图像顺时针旋转 90 度。我们需要使用原地方式执行此操作,这意味着我们不需要另一个二维矩阵来进行旋转。旋转后,图像将如下所示。 示例 -![]() 示例 - 1 示例 - 2 示例 - 3 我们应该遵循以下约束 - 解决方案我们将实现以下解决方案。
让我们看以下代码。 示例 - 输出 The input matrix is: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] The matrix after rotation: [[7, 4, 1], [8, 5, 2], [9, 6, 3]] 解释 - 在上面的代码中,我们创建了一个接收要旋转的矩阵的方法。我们迭代了外循环,它将迭代矩阵的每一行,外循环则迭代每一行的列。我们在内循环中改变了矩阵的行和列。如果我们打印转置后的矩阵,它将如下所示。 它将产生以下输出 - [[1, 4, 7], [2, 5, 8], [3, 6, 9]] 如果我们仔细观察转置后的矩阵,我们离得到期望的输出只有一步之遥。我们只需要反转每一行。因此,我们借助 enumerate() 函数反转了矩阵的每一行。 它将产生以下输出 - 0 [1, 4, 7] 1 [2, 5, 8] 2 [3, 6, 9] 在下一行,我们反转了行并返回了矩阵。 让我们来理解另一种解决方案。 解决方案 - 2在此解决方案中,我们将
让我们理解下面的例子。 示例 - 输出 The input matrix is: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] [[7, 8, 9], [4, 5, 6], [1, 2, 3]] The matrix after rotation: [[7, 4, 1], [8, 5, 2], [9, 6, 3]] 结论在本教程中,我们解决了一个许多大公司都提出的有趣的 Python 矩阵问题。我们通过多个代码实现了解决方案并进行了解释。一旦您理解了解决方案的方法,就可以自己动手实践。 |
在本教程中,我们将通过跳过 GIL 来学习 Python 中的并行处理。GIL 是 Python 中的一个重要概念,它阻止多个线程在同一进程中并行执行 Python 字节码。这意味着即使在多核处理器上,Python 线程...
14 分钟阅读
SFTP,是 SSH 文件传输协议的缩写,也称为安全文件传输协议,是一种网络协议,允许我们通过任何可靠的数据流访问文件、传输文件和管理文件。该程序在安全通道上工作,例如 SSH,它...
7 分钟阅读
本教程将解释如何将列表值分配给字典键。有时,我们需要将列表元素作为新键添加到字典中,这在 Web 开发领域非常常用。让我们了解完成此任务的各种方法...
阅读 3 分钟
在当今数据驱动的社会中,以简单且具有视觉吸引力的方式提供复杂信息的能力至关重要。数据可视化弥合了原始数据和相关见解之间的鸿沟,使我们能够有效地解释模式、趋势和关联。Python 以其灵活性和广泛的...
阅读9分钟
Python 初学者项目构想 学习任何编程语言或技术最好的方法是创建项目。目前,Python 是最受欢迎且最具挑战性的语言。我们可以通过为特定项目创建代码来测试自己。它...
7 分钟阅读
在本教程中,我们将编写程序来查找给定列表中 1 到 N 范围内缺失的元素。问题陈述是给定一个大小为 N-1 的数组,它只包含 1 到...范围内的不同整数。
阅读 3 分钟
在下面的教程中,我们将了解如何混淆 Python 程序。我们将使用一个名为 pyarmor 的 Python 包进行混淆。我们有时可能会遇到这样一种情况,即由于某些原因,我们必须将代码直接交付给客户。但是,我们...
阅读 4 分钟
当我们需要找出股票在特定时间段内的趋势时,移动平均线是重要的指标。移动平均线严格分析时间序列;因此,它们有助于经济学家、交易员和分析师了解市场趋势,识别...
阅读9分钟
循环是非常有用、节省时间和高效的。如果我们想自动化和重复一项任务,使用循环是我们的首选。但是,有时我们会遇到一种情况,即必须在某个特定条件成立时终止循环。我们...
阅读 4 分钟
编程是我们可以掌握的世界上最赚钱的在线技能之一。如果您已经决定开始我们的 IT 冒险,请尝试学习 Python。我们将向您展示如何以有组织、有趣的方式更快地学习 Python。Python 可以快速学习……
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India