У меня есть следующая функция, которая берет число из списка в списке в списке (странная настройка, но это необходимо для остальной части операции на моем конце), которая сортирует все списки и удаляет число из самый внутренний список. У меня есть несколько функций, которые также добавляются, и я написал их таким образом с несколькими вложенными циклами for и if.
list = [['John', ['1','2','3']], ['Bob', ['4','5','6','7']], ['Jim', ['8','9']]]
def removeNumber(Number):
for x in list:
for y in x[1]:
if y == Number:
x[1].remove(Number)
removeNumber('5')
print(list)
Вышеприведенный блок кода работает, так как в нем удаляется указанное число из самого внутреннего списка, но я думаю, что мы все можем согласиться, что это выглядит ужасно с таким количеством вложенных циклов и if. Я довольно новичок в python и не очень хорошо разбираюсь в списках.
Мне интересно, есть ли способ написать это, используя понимание списка, или есть ли лучший способ вообще использовать другой метод. Лучшее значение вписывается в мантру «квартира лучше, чем вложенная». Любая помощь по этому вопросу будет высоко ценится