Подтвердить что ты не робот

Как умножить все целые числа внутри списка

Здравствуйте, поэтому я хочу умножить целые числа внутри списка.

Например:

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

выход:

l = [2, 4, 6]

Итак, я искал онлайн, и большинство ответов касалось умножения всех целых чисел друг на друга, таких как:

[1 * 2 * 3]

4b9b3361

Ответ 1

Попробуйте понимание списка:

l = [x * 2 for x in l]

Это проходит через l, умножая каждый элемент на два.

Конечно, есть более чем один способ сделать это. Если вы находитесь в лямбда-функциях и map, вы даже можете сделать

l = map(lambda x: x * 2, l)

применить функцию lambda x: x * 2 к каждому элементу в l. Это эквивалентно:

def timesTwo(x):
    return x * 2

l = map(timesTwo, l)

Ответ 2

Самый пифонический способ - использовать понимание списка:

l = [2*x for x in l]

Если вам нужно сделать это для большого числа целых чисел, используйте numpy массивы:

l = numpy.array(l, dtype=int)*2

Конечной альтернативой является использование карты

l = list(map(lambda x:2*x, l))

Ответ 3

Другим функциональным подходом, который может быть немного легче смотреть, чем анонимная функция, если вы идете по этому маршруту, используйте functools.partial для использования двухпараметрического operator.mul с фиксированным несколькими

>>> from functools import partial
>>> from operator import mul
>>> double = partial(mul, 2)
>>> list(map(double, [1, 2, 3]))
[2, 4, 6]

Ответ 4

Самый простой способ для меня:

map((2).__mul__, [1, 2, 3])

Ответ 5

#multiplying each element in the list and adding it into an empty list
original = [1, 2, 3]
results = []
for num in original:
    results.append(num*2)# multiply each iterative number by 2 and add it to the empty list.

print(results)

Ответ 6

с помощью numpy:

    In [1]: import numpy as np

    In [2]: nums = np.array([1,2,3])*2

    In [3]: nums.tolist()
    Out[4]: [2, 4, 6]