def delete_books(name): books=list_book() books=[book for book in books if book['name']==name] savefile_books(books)
Мой вопрос касается понимания списка в python. Я просил вас объяснить в задержании об этом за цикл. Как его работа и как он выглядит в обычном коде без понимания списка?
books = [book for book in books if book['name']==name]
это то же самое, что и:
new_books = [] for book in books: if book['name']==name: new_books.append(book) books = new_books
Как видите, понимание списка гораздо элегантнее.
Эта функция будет выполнять ту же функцию, что и ваша функция, но без понимания списка:
def delete_books_no_list_comprehension(name): books = list_book() filtered_books = [] for book in books: if book['name'] == name: filtered_books.append(book) savefile_books(filtered_books)
См. Также, для получения дополнительной информации: https://www.pythonforbeginners.com/basics/list-comprehensions-in-python