2016-03-11 48 views
-1

您認爲下列代碼可以轉換爲列表理解嗎?
我很難想出解決方案。將以下內容轉換爲Python List Comprehension

curr_page = 10 
    l_count = 0 
    for x in range(current_page-1, 0, -1): 
     if l_count <= 9: 
      page_list.insert(0, x) 
      l_count = l_count + 1 
     if l_count >= 9: 
      x = 0 
+0

應該'curr_page'和'current_page'是一樣的嗎?你可以將它作爲一個函數與參數一起寫出來,以便我們看到哪些位是輸入,哪些位是實現的? – Eric

+0

'l_count'你的指標,但9值後將無法正常工作。 – dsgdfg

回答

2

沒有任何進一步的信息,列表「理解」只是page_list = range(1, 10)

投機性,你甚至會想:

  • range(1, curr_page)
  • range(max(0, curr_page - 9), curr_page)
0
page_list = [] 
current_page = 10 
l_count = 0 
for x in range(current_page-1, 0, -1): 
    if l_count <= 9: 
     page_list.insert(0, x) 
     l_count = l_count + 1 
    if l_count >= 9: 
     x = 0 

print page_list 

輸出

[1, 2, 3, 4, 5, 6, 7, 8, 9] 

因此可以簡化爲

page_list = range(1,10) 

如果你真的想列表理解

page_list = [x for x in range(1,10)]