Прежде всего, у вас есть списки строк (не целые числа). "7"
- это строка. Если вы добавите его в "3"
, вы получите "73"
. 7
- целое число.
Первое, что нужно было бы преобразовать ваши списки в целые числа. Вот один из способов сделать это и тот, который я буду использовать.
list1 = map(int, list1)
Это просит питона вызвать int
функцию на каждом элементе list1
в аргументе и присвоить возвращаемое значение обратно list1
. Аналогично для list2
. Как только это будет сделано, у вас есть два списка целых чисел, которые вы можете добавить.
Это можно сделать несколькими способами. Я бы сделал это так.
res = []
for l1, l2 in zip(list1, list2):
res.append(l1 + l2)
zip
функция будет «ЗИП» элементы нескольких списков в группы. Таким образом, ваши списки будут заархивированы в кортежи, такие как (7,3)
, (3, 15)
и т. Д. Цикл с двойной переменной будет каждый раз распаковывать эти кортежи, чтобы вы получили l1 =7
и l2 =3
в первой итерации и так далее.
Подведите их и верните в список результатов.
Есть более сжатые способы сделать это, но это ясно. Если вам интересно, вот еще один.
[int(x1) + int(x2) for x1,x2 in zip(l1, l2)]
Так что ошибки вы получаете? Можете ли вы показать нам этот код? У вас есть строковые значения, поэтому '' 7 '+' 3'' действительно '' 73''; строки объединяются так же, как '' hello '+' world'' делает «привет мир». –
Подсказка: используйте 'zip',' int' и 'str'. –
вы объединяете строки. Вы должны использовать для int, если хотите выполнить арифметические операции с префиксами. – matcheek