2017-06-15 109 views
0

雖然我正在使用我在Django中創建的一些模型(使用Python的Web開發框架),但我認爲這個問題大多是python問題。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。

+3

'booklist_latin = [(book.title_of_book,book.book_type) 用於書sorted_latin_books]'應該足夠了。 –

+0

不是我的任何業務,但您可能想嘗試弄清楚如何使測試儘可能簡單。這可能不是唯一一次不能100%確定你的代碼;) –

+0

當然!特別是我有一個人對python和django有足夠的瞭解,以便他們能夠幫助我執行測試。 –

回答