С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 18

Работа со списками в Python

02.02.2017, 13:26. Показов 1792. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите со списками пожалуйста.
например: даны два списка
a [[2,4][-4,2][1,0]] #2x^4-4x^2+1 (первый элемент это коэффициент, а второй степень)
b [[1,3][-2,0]] #x^3-2x
нужно первые элементы первого списка умножить на первые элементы второго списка ,а вторые сложить со вторыми
вот так:



не получается реализовать код.
если умножить или сложить еще работает коряво... а вместе никак.
Помогите куском кода пожалуйста!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2017, 13:26
Ответы с готовыми решениями:

Работа со списками Python 3
Здравствуйте, нужна помощь с задачей по питону: Рассматривается двумерное пространство, множество X точек в этом пространстве и круг С в...

Работа с списками в Python
Помогите сделать задание: 1.Задание на обработку одномерного массива: Выполнить сортировку по возрастанию элементов, расположенных...

Основы языка Python. Работа со списками
Дан одномерный массив числовых значений, насчитывающий N элементов. Вставить группу из M новых элементов, начиная с...

5
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
02.02.2017, 15:16
Лучший ответ Сообщение было отмечено Russian-Knyz как решение

Решение

Умножение многочленов чтоль?

Добавлено через 2 минуты
Цитата Сообщение от Russian-Knyz Посмотреть сообщение
b [[1,3][-2,0]] #x^3-2x
Да, тут, видимо, ошибка.

Добавлено через 14 минут
Как-то кривовато у вас многочлены задаются. Считать степенью место в списке было бы логичнее. Ну да ладно.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from itertools import product
 
a = [[2,4],[-4,2],[1,0]] #2x^4-4x^2+1 (первый элемент это коэффициент, а второй степень)
b = [[1,3],[-2,1]] #x^3-2x
 
def mult(first, second):
    result_len = max(itm[1] for itm in first) + max(itm[1] for itm in second)
    result = [0] * (result_len+2)
    print(result_len)
 
    for itm1, itm2 in product(first, second):
        power = itm1[1] + itm2[1]
        result[power] += itm1[0] * itm2[0]
        print(itm1, itm2, '=>', itm1[0] * itm2[0], power)
 
    return result
 
print(mult(a, b))
1
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 18
02.02.2017, 16:19  [ТС]
Спасибо вам огромное dondublon!
Я так делал "считать степенью место" и сдавал задачу, но мне сказали это не эффективно (мол слишком требовательная к памяти)
вот код:
from itertools import product

import math

a = [4, 0, 2, -1, 3] #4x^4 + 2x^2 - x + 3
b = [2] #2x
s = ([int(j) * int(i) for i, j in product(a, b)])
c = len(s)
for k in range(len(s)):
print(str(s[k])+'x^'+str(c)+'+')
c = c-1
0
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 18
02.02.2017, 16:31  [ТС]
dondublon, не могли бы вы прокомментировать последнюю строку? что это за строка и откуда она берется?
не пойму
и кусочек вашего кода:
def mult(first, second):
result_len = max(itm[1] for itm in first) + max(itm[1] for itm in second)
result = [0] * (result_len+2)
print(result_len)
Миниатюры
Работа со списками в Python  
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
02.02.2017, 16:39
Лучший ответ Сообщение было отмечено Russian-Knyz как решение

Решение

Цитата Сообщение от Russian-Knyz Посмотреть сообщение
не могли бы вы прокомментировать последнюю строку? что это за строка и откуда она берется?
Функцию написал выше, в последней строке её вызвал. Вроде всё просто.

Цитата Сообщение от Russian-Knyz Посмотреть сообщение
и кусочек вашего кода:
def mult(first, second):
result_len = max(itm[1] for itm in first) + max(itm[1] for itm in second)
result = [0] * (result_len+2)
print(result_len)
Я результат храню в более удобной форме, степень=место.
Если без этого - надо использовать словарь. Ещё большой вопрос, что эффективнее.
Подготовил список из нулей (буфер), туда потом запишу значения. Длина списка - result_len. Максимальная степень в результате. Только надо прибавить 2, ибо так надо.
Ну а print - просто для наглядности.

Цитата Сообщение от Russian-Knyz Посмотреть сообщение
Я так делал "считать степенью место" и сдавал задачу, но мне сказали это не эффективно (мол слишком требовательная к памяти)
Может такое быть, если степени большие, а членов в многочлене мало.

Но если вдаваться в такие нюансы - на Питоне вообще писать не стоит. По крайней мере, на "чистом". Использовать numpy или даже scipy, там есть специальный класс для разреженных матриц, можно под многочлены приспособить.
1
0 / 0 / 0
Регистрация: 17.04.2016
Сообщений: 18
03.02.2017, 11:03  [ТС]
Еще раз вам спасибо) помогли разобраться! теперь я стал знать больше!

Добавлено через 16 часов 11 минут
как это бы выглядело в виде блок схемы?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.02.2017, 11:03
Помогаю со студенческими работами здесь

Неполадки со списками Python
else: print('vvodite zashivrovannii bukvi po odnoi, v kachestve razdelitelya ispolsuite "-"') i=0 while...

Неполадки со списками Python
Всем привет. Пока карантин-каникулы хотел вспомнить свои небольшие навыки на Python, а именно написать программу шифратор-дешифратор, но...

Проблемы с работой со списками python
Пишу вот такой код: s=input() s=s.split() mi=int(s) ma=int(s) for i in range(1, len(s)): if int(s)>int(ma): ma=s ...

Операции над списками в Python
1.В одномерном числовом массиве D длиной n вычислить сумму элементов с нечетными индексами. Вывести на экран массив D, полученную сумму. ...

Проблемы с работой со списками python
Добрый день! Решаю вот такую задачу: Дан текстовый файл, содержащий целые числа. Удалить из него все четные числа. вот таким кодом: f...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru