Вот решение для вложенного списка с произвольной глубиной :
def map_nlist(nlist=nlist,fun=lambda x: x*2):
new_list=[]
for i in range(len(nlist)):
if isinstance(nlist[i],list):
new_list += [map_nlist(nlist[i],fun)]
else:
new_list += [fun(nlist[i])]
return new_list
вы хотите ввести в верхний регистр все элементы списка, просто наберите
In [26]: nested_list = [['Hello', 'World'], ['Goodbye', [['World']]]]
In [27]: map_nlist(nested_list,fun=str.upper)
Out[27]: [['HELLO', 'WORLD'], ['GOODBYE', [['WORLD']]]]
И что более важно, эта рекурсивная функция может сделать больше, чем это!
Я новичок в python, не стесняйтесь обсуждать!