Как умножить список чисел на 2 с помощью функции? (Python) - PullRequest
0 голосов
/ 04 августа 2020

Я новичок и хотел спросить, как создать функцию, которая будет умножать список на 2, используя a вместо l oop. Я пытаюсь найти ответы в другом месте, но безуспешно.

Ответы [ 5 ]

1 голос
/ 04 августа 2020

Самый * способ c Pythoni - это использование списка:

def double(lst):
   return [x*2 for x in lst]

Эквивалентной является функция map - она ​​отображает анонимную лямбда-функцию на каждый элемент списка:

def double(lst):
   return list(map(lambda x: x*2, lst))

Но вы можете сделать это в a for l oop вот так:

def double(lst):
   new_lst = lst
   for i in range(len(new_lst)):
      new_lst[i] *= 2
   return new_lst
1 голос
/ 04 августа 2020

Если вы хотите сделать это с помощью for l oop, вы можете сделать это следующим образом:

the_list = [1,2,3,4]

for index in range(len(the_list)):
    the_list[index] = the_list[index]*2

Но еще более элегантно использовать понимание списка и с помощью функции, как вы разыскивается :

def multiply_array(the_list):
     new_list = [item*2 for item in the_list]
     return new_list
0 голосов
/ 04 августа 2020

Вы просили функцию. Вы должны использовать оператор def для определения функции. Внутри функции вы должны l oop по индексам, используя range, и вы должны использовать *=, чтобы умножить существующее значение в каждом индексе на указанное число.

def double_it(your_list):
    for index in range(len(your_list)):
        your_list[index] *= 2

Это обновит элементы в списке. Если есть другие ссылки на список, они также увидят новые значения. Так, например, если у вас есть:

a = [1, 2, 3]
b = a
double_it(a)
print(b)

, тогда вы увидите обновленные значения в b также потому, что он указывает на тот же список.

0 голосов
/ 04 августа 2020

Вот решение, используя for loop

def multi():
    o=[]
    for i in a:
        b=i*2
        o.append(b)
    print(o)

a=[1,2,3,4]
multi()
0 голосов
/ 04 августа 2020

Вы можете использовать понимание списка:

my_list = [1, 2, 3, 4, 5]
my_new_list = [num * 2 for num in my_list]

>>> print(my_new_list)
[2, 4, 6, 8, 10]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...