Как вы можете изменить мой код, чтобы вернуть LLL после изменений?Рекурсивные и заводские проблемы
У меня есть список:
LLL = [12,[3,[5],[6,[[7, [],8], []]]], [8, [0,87,23,434,444,33]]]
и я называю эту функцию:
def testQ1():
dolist_deep_add1 = factory_dolist_deep_A((lambda x: x + 1))
print ('dolist_deep_add1(LLL) : ', dolist_deep_add1(LLL))
Эта функция должна возвращать список после изменения. Результат Im поклонников:
LLL = [13,[4,[6],[7,[[8, [],9], []]]], [9, [1,88,24,435,445,34]]]
factory_dolist_deep_A код:
def factory_dolist_wide_A(fa):
def print_wide (L):
def pw1(x):
if type(x) is int:
x = fa(x)
print(str(x)+' ', end='')
def pwstart (L, lvl):
print('\nlevel ' + str(lvl) + " : " , end='')
pw (L, lvl)
def pw (L, lvl):
if not L: return
Q = []
for a in L:
if type(a) is list:
if a == [] : pw1('[]')
else: Q.extend(a)
else:
pw1(a)
pwstart(Q , lvl + 1)
return pwstart(L, 0)
return print_wide
На данный момент он просто получает цифры и печатать их, не меняя сам список.
Я хочу изменить factory_dolist_wide_A(fa)
: так, чтобы он возвратил измененный список.
Он должен работать так же, как эта функция печати, а не просто печатать изменения, но также вносить изменения в список.
Ваш вопрос очень неясен. что вы подразумеваете под «возвратом L после изменений»? – mgilson
Я имею в виду, что здесь он просто печатает, и я хочу вернуть список изменений, а не просто печатать изменения ... –
Это совершенно ясно, что он хочет. Функции в настоящее время печатают список, измененный с помощью переданной функции. Он хочет, чтобы эти функции также возвращали измененный список. –