3

I'm trying to create a matrix-multiplication-with-scalar function, without any libraries. It has to include list comprehension:

A = [[1,2],[3,4]] # 2by2 matrix

scalar = 2 #positive int

product = []

for row in A:
    
    temp = []
    
    for element in row:
        temp.append(scalar * element)
    
    product.append(temp)

print(product)
7d2672d0f4
  • 33
  • 3

2 Answers2

1

This is a possible solution:

A = [[1,2],[3,4]] # 2by2 matrix

scalar = 2 #positive int

product = [[i*scalar for i in sublist] for sublist in A]

print(product)
lorenzozane
  • 1,214
  • 1
  • 5
  • 15
1

Alternatively, you can have some fun with lambdas and map:

product = [*map(lambda x: [*map(lambda y: y * scalar, x)], A)]

Try it online!

General Grievance
  • 4,555
  • 31
  • 31
  • 45