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

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

02.02.2017, 13:26. Показов 1827. Ответов 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,183
Записей в блоге: 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,183
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru