Python:使用列表推导创建对列表?语法是什么?

时间:2017-06-15 20:05:33

标签: python django

当我使用我在Django(一个使用Python的web开发框架)中创建的一些模型时,我认为这个问题主要是一个python问题。

检查这些代码行。

sorted_greek_books=sorted(BookTitlesGreek.objects.all(),key=lambda book: (book.book_type,book.title_of_book))
booklist_greek= [book.title_of_book
   for book in sorted_greek_books]

对于booklist_greek中的每本书,我希望书名与书籍类型配对。这可能吗?这是什么语法?

我猜了一下(尽管我的网站上有拉丁语书籍,但代码行的编写方式完全相同)。但是我没有一种简单的方法来实际测试它,因为它需要连接到我的数据库和django以及其他一些后端组件。这是我的猜测:

def IndexView(request):
    sorted_latin_books=sorted(BookTitles.objects.all(),key=lambda book: (book.book_type,book.title_of_book))
    booklist_latin= [(book.title_of_book, book.book_type)
            for book in sorted_latin_books, for book in sorted_latin_books]

所以,如果这可能产生类似......

[(“教科书标题”,“教科书”),(“列表标题”,​​列表)......]那将是我的目标。

这可能吗?有谁知道语法?此外,如果你要链接一个真正基本的文档,你有什么想法“哇OP怎么没读这个他不应该编程傻瓜”请发送文档,因为我真的习惯了django和javascript。< / p>

1 个答案:

答案 0 :(得分:1)

booklist_latin= [(book.title_of_book, book.book_type) for book in sorted_latin_books]

参考:http://www.pythonforbeginners.com/basics/list-comprehensions-in-python