Python – K 矩阵初始化
有时在竞争性编程世界中,我们需要初始化矩阵,但我们不希望使用循环以更长的方式进行。我们需要一个简写。这类问题在动态规划领域很常见。让我们讨论一些可以做到这一点的方法。
方法#1:使用列表推导
列表推导可以被视为执行此特定操作的简写。在列表推导中,我们可以使用 K 初始化内部列表,然后使用列表推导再次将此逻辑扩展到每一行。
# Python3 code to demonstrate
# K Matrix Initialization
# using list comprehension
# Declaring rows
N = 5
# Declaring columns
M = 4
# initializing K
K = 7
# using list comprehension
# to initializing matrix
res = [ [ K for i in range(N) ] for j in range(M) ]
# printing result
print("The matrix after initializing with K : " + str(res))
输出 :
The matrix after initializing with K : [[7, 7, 7, 7, 7], [7, 7, 7, 7, 7], [7, 7, 7, 7, 7], [7, 7, 7, 7, 7]]
方法#2:使用列表理解+“*”运算符
这个问题也可以使用 *运算符来简化,它可以稍微减少完成任务的繁琐方式,并且可以简单地使用乘法运算符将初始化扩展到所有 N 行。
# Python3 code to demonstrate
# K Matrix Initialization
# using list comprehension
# and * operator
# Declaring rows
N = 5
# Declaring columns
M = 4
# initializing K
K = 7
# using list comprehension
# to initializing matrix
res = [ [K for i in range(M)] * N]
# printing result
print("The matrix after initializing with K : " + str(res))
输出 :
The matrix after initializing with K : [[7, 7, 7, 7, 7], [7, 7, 7, 7, 7], [7, 7, 7, 7, 7], [7, 7, 7, 7, 7]]