python - Python中初始化嵌套列表的两种方法有什么区别
问题描述
我想转置一个矩阵,我使用两种方法将嵌套列表初始化为新矩阵。
第一种初始化嵌套列表的方法是
re = [[0 for j in range(len(A))] for i in range(len(A[0]))]
第二种方法是
re = [[0]*len(A)]*len(A[0])
转置矩阵的代码如下。
class Solution:
def transpose(self, A):
"""
:type A: List[List[int]]
:rtype: List[List[int]]
"""
l = len(A[0])
# method 1
re = [[0 for j in range(len(A))] for i in range(len(A[0]))]
# # method 2
# re = [[0]*len(A)]*len(A[0])
for i in range(len(A)):
for j in range(l):
re[j][i] = A[i][j]
return re
def test(self):
print(self.transpose([[1,2,3],[4,5,6]]))
tran = Solution()
tran.test()
但是,使用两种方法对矩阵进行转置的结果是不同的。
输出:
# mehtod 1
[[1, 4], [2, 5], [3, 6]]
# method 2
[[3, 6], [3, 6], [3, 6]]
谁能告诉我这两种初始化列表的方法的区别?</p>
解决方案
推荐阅读
- javascript - 如何演示函子的 MAP 方法关联属性
- amazon-web-services - 如何计算对特定 RDS 实例进行增强监控的成本。
- data-visualization - 如何在 Tableau 中对相同州/省的点进行聚类
- javascript - 打字稿没有加载大的json文件
- powershell - 如何用两行替换txt文件中的一行
- spring - @ExceptionHandler(Exception.class) 无法捕获 HibernateOptimisticLockingFailureException
- c# - 如何创建本地 Web 服务器来托管我的 SQL 数据库,以便用户可以无限制地使用我的 c# 应用程序
- python - PySpark:从数据框创建字典的字典?
- sql - 如何使用employee_id和emp_name选择每个部门的员工的最大(薪水)
- java - 如何创建 JSON 归档的表单动态