Как перемножить элементы в списке на одно число Python [закрыт]
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу
Закрыт 1 год назад .
s = [1, 2, 3, 4, 5, 6, 7, 8] print(s)
Отслеживать
122k 24 24 золотых знака 124 124 серебряных знака 297 297 бронзовых знаков
задан 28 авг 2022 в 8:34
Богдан Иовенко Богдан Иовенко
9 3 3 бронзовых знака
Уважаемый @Богдан вы бы хоть удосужились прочитать все ответы которые вам дали. И если ответы вам помогли , то поблагодарите тех людей которые их дали.
28 авг 2022 в 13:33
5 ответов 5
Сортировка: Сброс на вариант по умолчанию
Если я правильно понял
s = [1, 2, 3, 4, 5, 6, 7, 8] for i in s: print(i*2, end=' ')
Отслеживать
ответ дан 28 авг 2022 в 8:56
143 1 1 серебряный знак 7 7 бронзовых знаков
a = [1, 2, 3, 4, 5, 6, 7, 8] b = [x*2 for x in a] print(b)
[2, 4, 6, 8, 10, 12, 14, 16]
Отслеживать
ответ дан 28 авг 2022 в 9:25
122k 24 24 золотых знака 124 124 серебряных знака 297 297 бронзовых знаков
Предлагаю такое решение, в функцию передается список и число, возвращает список умноженный на число
def multip_num(listt, num): new_list = list() for i in listt: new_list.append(i * num) return new_list s = [1, 2, 3, 4, 5, 6, 7, 8] print(multip_num(s, 3)) # Выведет: [3, 6, 9, 12, 15, 18, 21, 24]
Отслеживать
ответ дан 28 авг 2022 в 9:15
greymaster greymaster
466 2 2 серебряных знака 8 8 бронзовых знаков
Есть такое решение, с перегрузкой методов и созданием своего типа данных.
class NumList(list): def __add__(self, other): new_self = self.copy() for i in range(len(new_self)): if type(new_self[i]) == type(other): new_self[i] = new_self[i] + other return new_self def __sub__(self, other): new_self = self.copy() for i in range(len(new_self)): if type(new_self[i]) == type(other): new_self[i] = new_self[i] - other return new_self def __mul__(self, other): new_self = self.copy() for i in range(len(new_self)): if type(new_self[i]) == type(other): new_self[i] = new_self[i] * other return new_self A = NumList([1, 2, 3, 4]) A.append(2) print(A * 3) print(A - 3) print(A + 3) # [3, 6, 9, 12, 6] # [-2, -1, 0, 1, -1] # [4, 5, 6, 7, 5]
Умножение списка на число
Студент Макс узнал, что в Python умножать можно не только числа, но и другие объекты, например, строку на число:
>>> "Max" * 3 'MaxMaxMax'
«Вау!» — подумал Макс — «А что если умножить список на число?»:
>>> [42, 26] * 3 [42, 26, 42, 26, 42, 26]
Значит можно создать двумерный массив очень кратко и элегантно?
arr = [[]] * 3 arr[0].append(10) arr[1].append(20) arr[2].append(30)
Макс ожидал получить:
[[10], [20], [30]]
[[10, 20, 30], [10, 20, 30], [10, 20, 30]]
Как же так?! Дело в том, что умножение списка на число не копирует сам объект, а лишь ссылку на него. Все три элемента arr ссылаются на один и тот же список. Легко проверить, сравнив адреса объектов:
>>> arr[0] is arr[1] True >>> id(arr[0]), id(arr[1]) (4400840776, 4400840776)
Аналогично в случае классов:
class Dummy: . arr = [Dummy()] * 2 arr[0].x = 10 arr[1].x = 20 print(arr[0].x, arr[0] is arr[1]) # 20 True
А вот с числами, строками и кортежами умножение списка будет работать как ожидал Макс, потому что это неизменяемые типы. Вот такая тонкость, которую нужно знать. Максу следовало бы написать так:
arr = [[] for _ in range(3)] arr[0].append(10) arr[1].append(20) arr[2].append(30) >>> arr [[10], [20], [30]]
Менее кратко, но зато работает без сюрпризов: каждую итерацию создается новый пустой список.
Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway
Умножить каждый из элементов списка на его индекс
Написать программу, осуществляющую ввод списка с клавиатуры пользователем в одну строку через пробел. Умножить каждый из элементов списка на его индекс. Новый изменённый список вывести на экран.
Пример ввода данных для задачи 5:
12 42 -4 15
Пример вывода данных для задачи 5:
0 42 -8 45
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Ввести одномерный массив A из N элементов. Каждый третий элемент массива умножить на собственный индекс
Ввести одномерный массив A из N элементов. Каждый третий элемент массива умножить на собственный.
Каждый нечетный элемент списка умножить на 2, каждый четный на 3
сначало пытаюсь написать хотя бы проверку на четность и умножение на 3. (defun четность (l) .
каждый нечетный элемент списка умножить на 2, каждый четный на 3. использовать только рекурсию CAR,CDR,COND,CONS
каждый нечетный элемент списка умножить на 2, каждый четный на 3. использовать только рекурсию .
Каждый третий элемент массива умножить на собственный индекс
Вот условие задачи: Ввести одномерный массив а из n элементов. Каждый третий элемент массива.
Массив: Каждый третий элемент массива умножить на собственный индекс
Вот условие программы: Ввести одномерный массив A из N элементов. Каждый третий элемент массива.
PYTHON Введите список чисел с клавиатуры. Нужно найти сумму элементов этого списка с четными индексами (0-й, 2-й, 4-й и т.д.), затем перемножить эту сумму и первый элемент списка.
Также сделать проверку, если список пуст — вывести 0.
PYTHON
Напишите программу в среде программирования PascalABC. Протестируйте ее. Дан целочисленный массив из 10 элементов. Вывести на экран все его нечетные э … лементы, предварительно расположив их по возрастанию методом прямого выбора. В качестве ответа напишите код вашей программы (учитывая синтаксис языка программирования Pascal).
Напишите программу в среде программирования PascalABC. Протестируйте ее. Cоставьте программу нахождения и вывода на экран номера первого четного элеме … нта целочисленного массива из 8 элементов или выведите на экран сообщение о том, что четных элементов в массиве нет. В качестве ответа напишите код вашей программы (учитывая синтаксис языка программирования Pascal).