Python: как улучшить методы для работы как с отдельными значениями, так и со списком диктовок?

#python-3.x #decorator

Вопрос:

Мне нужен декоратор(или что-то подобное), чтобы улучшить некоторые методы. Прямо сейчас методы работают с отдельными элементами(например, метод adding() ниже), но я хочу, чтобы они также работали со списком и списком диктов в качестве входных данных, а также возвращали список/список диктов. Прямо сейчас мой код работает для ввода 1 и 2, но не уверен, что он выглядит питоническим.

 input1: 2
output1: 3
    
input 2:[{"a":1},{"b":2},{"c":3},{"d":4},{"e":5}]
output2:[{"a":2},{"b":3},{"c":4},{"d":5},{"e":6}]
    
input3(more parameters in args): [{"a":1},{"b":2},{"c":3},{"d":4},{"e":5}],
    [{"from":3},{"from":4},{"from":5},{"from":6},{"from":7}]
output3: [{"a":2},{"b":3},{"c":4},{"d":5},{"e":6}],
    [{"from":4},{"from":5},{"from":6},{"from":7},{"from":8}]
    
```
@singleAndListOfDicts
def adding(id,el):
   return el 1

def singleAndListOfDicts(func):
   @functools.wraps(func)
   def wrapper_decorator(*args, **kwargs):
      if isinstance(args[1],list):
         value = []
         temp = list(args)
         for elem in args[1]:
            temp[1] = list(elem.values())[0]
            args = tuple(temp)
            value.append(func(*args,**kwargs))
      else:
         value = func(*args, **kwargs)    
      return value
   return wrapper_decorator

```