Рекурсивная версия работает аналогично, когда вы только повторяете через каждый элемент, прежде чем вернуться к остальной части списка. Ваш базовый случай будет, когда в списке останется только один элемент. Я бы предложил создать вспомогательный класс, чтобы убедиться, что ваши значения действительны числа
# Helper function to clean up int value
def zero_or_value(value):
try:
return int(value)
except ValueError as err:
# Handler err here if you want
pass
return 0
def recursive_add_iter(my_list):
if not my_list: # Return 0 if list is empty
return 0
elif len(my_list) == 1: # Base case, try converting last element
return zero_or_value(my_list[0])
return zero_or_value(my_list[0]) + recursive_add_iter(my_list[1:])
A = ["xx", "3e", "5", "44"]
print(recursive_add_iter(A))