Как напечатать определенный индекс одного списка в другой список?

#python-3.x

#python-3.x

Вопрос:

У меня есть список

 book_list
 

в котором перечислены несколько книг и их детали, такие как название, жанр и т. Д

 P.G. Wodehouse, Right Ho Jeeves, hb, Penguin, 10.99, 5, fiction
A. Pais, Subtle is the Lord, pb, OUP, 12.99, 2, biography
etc
 

Я хотел бы взять название каждой книги в этом списке и добавить результат в другой список (чтобы затем я мог сортировать названия)

В настоящее время мой код печатает все названия книг, но мне не удается добавить это в другой список

 def option6():
    l = []
    for book in book_list:
        x = print(book[1])

    l.append(x)

    print(sorted(l))
 

Это вывод

  Right Ho Jeeves
 Subtle is the Lord
 The Quotable Einstein
 The Chemical History of a Candle
 Energy and Empire
 Popular Lectures
 The Screwtape Letters
 The Hobbit
 The Four Loves
 Inner Exile
 Natural Theology
[None]
 

Комментарии:

1. просто поместите l.append(book[1]) вас в цикл

Ответ №1:

print оператор возвращает None . Следовательно, вы добавляете None новый список. Оператор append выходит из for цикла. Перенесите его внутрь цикла

Попробуйте приведенный ниже код

 def option6():
    l = []
    for book in book_list:
        print(book[1])
        x = book[1]
        l.append(x)
    print(sorted(l))
 

Комментарии:

1. спасибо, как я могу сделать так, чтобы печатался только отсортированный список, поскольку сейчас он печатает как список несортированных заголовков, так и список отсортированных заголовков.

2. Прокомментируйте print оператор внутри for цикла