Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/56: Рейтинг темы: голосов - 56, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 24.04.2011
Сообщений: 70

Сложение элементов 2-х списков.

07.03.2012, 22:15. Показов 11194. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот мой вариант, неработающий...К тому же решен не в общем виде.
Я новичок, помогите немного..
Python
1
2
3
4
5
6
7
s=[]
x=[1,2]
y=[2,3]
def add(x,y):
    for i in range(1,len(x)):
    s[i]=x[i]+y[i]
    return s[i]
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2012, 22:15
Ответы с готовыми решениями:

Сложение двух списков
a= b= if len(a)>len(b): * **while len(a)!=len(b): * * * * b.append(0) else: * * while len(a)!=len(b): * * * * a.append(0) ...

Список: сложение двух списков, их рандомная пересортировка и красивый вывод
Здравствуйте! Огромное спасибо за столь быструю помощь с предыдущим вопросом!...

Сложение двух списков в классе
Добрый день. Пытаюсь решить задачу (оч простая, но откуда лезет ошибка TypeError: can only concatenate list (not "Listas") to...

11
 Аватар для Owl_Man
2 / 2 / 0
Регистрация: 05.12.2009
Сообщений: 4
08.03.2012, 01:16
Вы индексируете списки x и y не с 0, как это принято в python, а с 1. И добавлять элементы в список s следует с помощью метода append(), иначе будет выдавать ошибку "выход за пределы списка". То есть, код должен выглядеть так: (при условии, что входные массивы одинакового размера)
Python
1
2
3
4
5
6
7
8
9
10
s = []
x = [1,2,3]
y = [4,5,6]
def add(x,y):
    for i in range(len(x)): #если в range() задан только один аргумент, отсчёт будет от 0
        s.append(x[i] + y[i])
 
>>> add(x,y)
>>> s
[5,7,9]
1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.03.2012, 05:19
Лучший ответ Сообщение было отмечено как решение

Решение

Python
1
2
3
4
5
6
>>> def add(l1, l2):
...     return [i1 + i2 for i1, i2 in zip(l1, l2)]
... 
>>> add([1,2,3],[4,5,6])
[5, 7, 9]
>>>
4
2 / 2 / 0
Регистрация: 24.04.2011
Сообщений: 70
09.03.2012, 00:13  [ТС]
написала в зависимости от длины списков.
Почему ругается elif и следующий else????????????
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def a3_1(a,b):
    res=[]
    if a==[]:
        return b
    elif b==[]:
        return a
    elif a==[] and b==[]:
        return []
    else:
        if len(a)>len(b):
            for i in range (len(b)):
                res.append(a[i]+b[i])
            for i in range (len(b),len(a)):
                res.append(a[i])
        return res
        elif len(a)==len(b):
            for i in range (len(b)):
                res.append(a[i]+b[i])
        return res
        else: ##len(b)>len(a):
            for i in range (len(a)):
                res.append(a[i]+b[i])
            for i in range (len(a),len(b)):
                res.append(b[i])
        return res
         
           
def a3_2(a):
    res=[]
    for i in range (len(a)):
        if a[i]!="":
            res.append (a[i])
        else:
            continue
    return res
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2012, 11:27
Если нужно, чтобы функция обрабатывала длинейший список, то можно сделать так (аналогично тому, что короткий список дополняется справа нулями):
Python
1
2
3
4
5
6
7
8
9
10
11
12
>>> def add_longest(l1, l2):
...     return [i1 + i2 for i1, i2 in zip(l1, l2)] + (l1[len(l2):] if len(l1) > len(l2) else l2[len(l1):])
... 
>>> add_longest([1,2,3,4],[5,6,7])
[6, 8, 10, 4]
>>> add_longest([1,2],[5,6,7,8,9,10])
[6, 8, 7, 8, 9, 10]
>>> add_longest([1,2,3],[4,5,6])
[5, 7, 9]
>>> add_longest([],[])
[]
>>>
Цитата Сообщение от victory19933 Посмотреть сообщение
Почему ругается elif и следущий else?
потому что return неправильно выровнен
1
2 / 2 / 0
Регистрация: 24.04.2011
Сообщений: 70
09.03.2012, 14:23  [ТС]
спасибо за ваш вариант, но мне все равно мой более понятен, поэтому хочу его добить, если так можно сказать. Я вообще пока не поняла почему настолько важно выравнивание.И как тогда надо выровнять?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2012, 14:26
Цитата Сообщение от victory19933 Посмотреть сообщение
Я вообще пока не поняла почему настолько важно выравнивание
потому, что в питоне оно определяет границы блоков кода
Цитата Сообщение от victory19933 Посмотреть сообщение
.И как тогда надо выровнять?
15, 19 и 25 строки передвинь на один уровень вправо
0
2 / 2 / 0
Регистрация: 24.04.2011
Сообщений: 70
09.03.2012, 14:52  [ТС]
все равно ошибка...
Error: Inconsistent indentation detected!1)...2)....
а можно где-нибудь посмотреть как правильно оформлять эти конструкции?

Добавлено через 9 минут
странный язык какой-то...
закрыла, открыла заново, ВСЕ РАБОТАЕТ!))
спасибо!
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2012, 14:54
Цитата Сообщение от victory19933 Посмотреть сообщение
странный язык какой-то...
закрыла, открыла заново, ВСЕ РАБОТАЕТ!))
спасибо!
это редактор у тебя странный. Могу посоветовать в настройках указать, чтобы вместо табуляций использовались пробелы

Добавлено через 42 секунды
Цитата Сообщение от victory19933 Посмотреть сообщение
а можно где-нибудь посмотреть как правильно оформлять эти конструкции?
смотри встроенную справку, которая распространяется вместе с интерпретатором
0
2 / 2 / 0
Регистрация: 24.04.2011
Сообщений: 70
09.03.2012, 15:08  [ТС]
ок.
а какая разница использования tab'а и пробела?
интерпретатор 2.7.2 у меня.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2012, 15:11
Цитата Сообщение от victory19933 Посмотреть сообщение
а какая разница использования tab'а и пробела?
размер tab'ов может быть различным. Вот по выравниванию и табам: http://www.python.org/dev/peps/pep-0008/
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
10.03.2012, 04:48
Python
1
2
3
4
5
6
7
>>> import operator
>>> def f(a, b):
...   return map(operator.add, a, b)
... 
>>> f([1, 2, 3], [4, 5, 6])
[5, 7, 9]
>>>
для списков одинаковой длины
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2012, 04:48
Помогаю со студенческими работами здесь

Выполнить поэлементное сложение двух заданных списков чисел
Добрый день! Очень нужна помощь в выполнении лабы, никак не могу справиться, помогите пожалуйста) Буду очень благодарна))) ...

Попарное сложение элементов списков
add_lists(, , ). add_lists(, , ).

попарное сложение элементов списков [ТурбоПролог]
Помогите пожалуйста сделать задание :) Необходимо сделать попарное сложение элементов списков add_list(,,) Заранее спасибо! ...

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

Сложение и вычитание элементов двух односвязных списков
template<typename T> class Node { public: Node *pNext; T data; Node(T data = T(), Node *pNext = nullptr) { ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru