Умножьте список на python - Запутался в вопросе упражнения - PullRequest
0 голосов
/ 19 января 2020

"Учитывая список чисел и один фактор (также число), создайте новый список, состоящий из каждого числа в списке, умноженного на коэффициент"

Затем напечатайте новый список.

То, что я почти уверен, это не то, как они хотели, чтобы упражнение было выполнено. Я просто немного смущен вопросом ... Я не уверен, хотят ли они сказать другую переменную, с которой я работаю для oop или что. Объяснение было бы неплохо. :)

Мой код:

numbers = [3, 4, 16, 12, -1]
empty_list=[]

for i in numbers: 
    empty_list.append(i * 3)
print (empty_list)

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Понимание списка - лучший способ решения проблемы, чем использование структурированного для l oop, т. Е.

newlist = [i * factor for i in original_list]

лучше, чем

for i in original_list:
   newlist.append(i * factor)

Кроме того, pandas можно использовать для решения этой проблемы, так как

n = pandas.Series(original_list)
newlist = (s * factor).tolist()

Numpy также можно использовать для этого

lis = numpy.array(original_list)
newlist = lis * factor

Вы также можете использовать функцию map () здесь

newlist = list(map((factor).__mul__, original_list))
0 голосов
/ 19 января 2020

Похоже, ваше решение определенно подходит, так или иначе, вот несколько возможных подходов к вопросу.

1 - l oop, как вы это сделали:

def multiply_lst_1(lst,n):
    new_lst = []
    for val in lst:
        new_lst.append(val * n)
    print(new_lst)
    return new_lst

2 - понимание списка:

def multiply_lst_2(lst,n):
    new_lst = [n * val for val in lst]
    print(new_lst)
    return new_lst

3 - карта:

def multiply_list_3(lst,n):
    new_lst = list(map(lambda x: n * x, lst))
    print(new_lst)
    return new_lst
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...