я хочу изменить все элементы в списке с неизвестной начальной формой, поэтому я сделал эту вспомогательную функцию, но есть ли лучший (более короткий) способ или встроенный способ сделать это?
а также еще один вопрос на стороне, где лучше всего хранить такую функцию>, если <нет встроенной функции, вместо копирования вставьте ее в каждый файл или проект <br>
def getNextList():
yield [1]
yield [[1,2],3]
yield [[1,2,[3]], [4,5],6]
def change(next_list, function):
for i, e in enumerate(next_list):
if(isinstance(e, int)):
next_list[i] = function(next_list[i])
else: change(e, function)
for next_list in getNextList():
change(next_list, lambda x: x+1)
print(next_list)
желаемый результат:
[2]
[[2, 3], 4]
[[2, 3, [4]], [5, 6], 7]
Редактировать: @Colin Schoen не является дубликатом вашего вопроса с тегами, потому что повторение дважды приведет к ошибке
Я думаю, решение, которое я выложилили версия @blhsing, которая действительно короче, является единственной для этой конкретной проблемы, но если я ее придерживаюсь, какой способ будет использовать эту функцию в разных проектах, не дублируя ее?