Как умножить список на число python
Перейти к содержимому

Как умножить список на число python

  • автор:

Умножение числа из списка

Доброго времени суток, дамы и господа. У меня следующий вопрос: как мне умножить одно число из списка на любое другое число? Заранее благодарю.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Умножение елементов списка на число
Доброго всем дня, нужна помощь при написание кода для того чтоб список загружался из файла 1.txt и.

Поочередное умножение элементов списка
Подскажите с помощью какой функции можно реализовать, или примерный алгоритм, если нужно.

Умножение элементов списка на число
Доброго всем дня, нужна помощь при написание кода для того чтоб список загружался из файла 1.txt и.

Умножение элементов списка на число
Доброго всем дня, нужна помощь при написание кода для того чтоб список загружался из файла 1.txt и.

4756 / 2648 / 547
Регистрация: 07.11.2019
Сообщений: 4,363

Лучший ответ

Сообщение было отмечено LightChemera как решение

Решение

a[0]*4.2

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Умножение многочленов на основе связного списка
Написал код по созданию многочленов, не могу понять как реализовать их умножение. class.

Инициализация списка списков через умножение
Здравствуйте. Делал я задачку тут на форуме, и столкнулся с странной для меня особеностью. Нужно.

Найти двухзначные числа, сумма которых при умножение не меняется числа на 2, 3, 4
1.Найти двухзначные числа, сумма которых при умножение не меняется числа на 2,3,4,5,6,7,8,9.

Процедуры: деление / умножение числа на n-ю степень числа 2
Составить программу (с разными способами передачи параметров в процедуру), содержащую процедуру.

Поэлементное умножение элементов первого списка на элементы второго
Вводятся с клавиатуры 2 списка. Реализовать поэлементное умножений элементов первого списка на.

умножение, сложение, вычитание многочленов(использование линейного списка)
вот она прога проблема в процедуре умножения в самом конце при умножении например x^3+x^2 на.

Как реализовать умножение целочисленных элементов списка в Lisp?
Задание такое: "Задать рекурсивную функцию, вычисляющую произведение целых чисел из списка." , т.е.

Как умножить список на число python

На этом шаге мы рассмотрим назначение и примеры использования этих функций .

До сих пор мы только выводили элементы последовательностей. Теперь попробуем умножить каждый элемент списка на 2:

arr = [1, 2, 3] for i in arr: i = i * 2 print(arr)

Рис.1. Текст программы и результат выполнения

Архив с файлом можно взять здесь.

Как видно из примера, список не изменился. Переменная i на каждой итерации цикла содержит лишь копию значения текущего элемента списка. Изменить таким способом элементы списка нельзя. Чтобы получить доступ к каждому элементу, можно, например, воспользоваться функцией range () для генерации индексов. Функция range() имеет следующий формат:

range([Начало>, ]Конец>[, Шаг>])

Первый параметр задает начальное значение. Если параметр < Начало >не указан, то по умолчанию используется значение 0. Во втором параметре указывается конечное значение. Следует заметить, что это значение не входит в возвращаемые значения. Если параметр < Шаг >не указан, то используется значение 1. Функция возвращает диапазон — особый объект, поддерживающий итерационный протокол. С помощью диапазона внутри цикла for можно получить значение текущего элемента. В качестве примера умножим каждый элемент списка на 2 (рисунок 2).

arr = [1, 2, 3] for i in range(len(arr)): arr[i] *= 2 print(arr)

Рис.2. Текст программы и результат выполнения

Архив с файлом можно взять здесь.

В этом примере мы получаем количество элементов списка с помощью функции len () и передаем результат в функцию range () . В итоге функция range() возвращает диапазон значений от 0 до len (arr) — 1. На каждой итерации цикла через переменную i доступен текущий элемент из диапазона индексов. Чтобы получить доступ к элементу списка, указываем индекс внутри квадратных скобок. Умножаем каждый элемент списка на 2, а затем выводим результат с помощью функции print () .

Рассмотрим несколько примеров использования функции range() . Выведем числа от 1 до 100:

for i in range(1, 101): print(i)

Можно не только увеличивать значение, но и уменьшать его. Выведем все числа от 100 до 1:

for i in range(100, 0, -1): print(i)

Можно также изменять значение не только на единицу. Выведем все четные числа от 1 до 100:

for i in range(2, 101, 2): print(i)

В Python 3 поведение функция range() возвращает диапазон. Чтобы получить список чисел, следует передать диапазон, возвращенный функцией range() , в функцию list() (рисунок 3).

>>> obj = range(len([1, 2, 3])) >>> obj range(0, 3) >>> obj[0], obj[1], obj[2] # Доступ по индексу (0, 1, 2) >>> obj[0:2] # Получение среза range(0, 2) >>> i = iter(obj) >>> next(i), next(i), next(i) # Доступ с помощью итераторов (0, 1, 2) >>> list(obj) # Преобразование диапазона в список [0, 1, 2] >>> 1 in obj, 7 in obj # Проверка вхождения значения (True, False) 

Рис.3. Создание списка чисел на основе диапазона


    index (< Значение >) — возвращает индекс элемента, имеющего указанное значение. Если значение не входит в диапазон, возбуждается исключение ValueError . Пример:

>>> obj = range(1, 5) >>> obj.index(1), obj.index(4) (0, 3) >>> obj.index(5) Traceback (most recent call last): File "#11>", line 1, in obj.index(5) ValueError: 5 is not in range 
>>> obj = range(1, 5) >>> obj.count(1), obj.count(10) (1, 0) 

Функция enumerate (< объект >[, start=0]) на каждой итерации цикла for возвращает кортеж из индекса и значения текущего элемента. С помощью необязательного параметра start можно задать начальное значение индекса. В качестве примера умножим на 2 каждый элемент списка, который содержит четное число (рисунок 4).

arr = [1, 2, 3, 4, 5, 6] for i, elem in enumerate(arr): if elem % 2 == 0: arr[i] *= 2 print(arr)

Рис.4. Пример использования функции enumerate() . Текст программы и результат выполнения

Архив с файлом можно взять здесь.

Функция enumerate() не создает список, а возвращает итератор. С помощью функции next() можно обойти всю последовательность. Когда перебор будет закончен, возбуждается исключение StopIteration :

>>> arr = [1, 2] >>> obj = enumerate(arr, start=2) >>> next(obj) (2, 1) >>> next(obj) (3, 2) >>> next(obj) Traceback (most recent call last): File "", line 1, in next(obj) StopIteration 

Кстати, цикл for при работе активно использует итераторы, но делает это незаметно для нас.

На следующем шаге мы рассмотрим цикл while .

Умножение списка на число

Студент Макс узнал, что в 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)

Диаграмма: все элементы arr указывают на один и тот же список.

Аналогично в случае классов:

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 элементов. Каждый третий элемент массива.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *