user7039078
user7039078

Reputation: 21

multiply all the integers in a list of lists python?

I want to multiply all the values in a list of lists in python:

    input = 3*[[1,2,3],[3,2,1]]

so i get this output:

    output = [[3,6,9],[9,6,3]]

i tried this:

    l = [[1,2,3],[3,2,1]]
    l = [i * 2 for i in x in l]

Upvotes: 1

Views: 2306

Answers (2)

wim
wim

Reputation: 362587

>>> my_list = [[1,2,3],[3,2,1]]
>>> [map((3).__mul__, sublist) for sublist in my_list]
[[3, 6, 9], [9, 6, 3]]

You might consider using numpy arrays instead:

>>> import numpy as np
>>> a = np.array(my_list)
>>> a
array([[1, 2, 3],
       [3, 2, 1]])
>>> 3*a
array([[3, 6, 9],
       [9, 6, 3]])

Upvotes: 3

David Garwin
David Garwin

Reputation: 401

[[ 3 * i for i in inner ] for inner in outer]

Upvotes: 5

Related Questions