列表生成式之怪誕--(暫時沒法理解)

事情發生背景:python

  題目是:有10萬個隨機數,請寫一段代碼,找出前10個最小的。app

  一開始我想的是直接用python語法糖(列表生成式)生成一個隨機的10萬個數字。dom

  可是我發現以我目前的能力完成不了,所以我就用了一個列表和一個列表生成式作出了一個僞隨機數.blog

  import random
  import heapq
  list1 = []
  for a in range(20,2000000):
list1.append(a)
  list2 = []
  for i in range(10000):
  list2.append(random.choice(list1))
  res = heapq.nsmallest(10, list2)
  print(res)

事情通過:
  問題這樣也就解決了(雖然是不完美的解決),可是我以爲不夠簡潔,基於PythonIC(該名詞上面有詳細介紹)的嚴謹,就想到直接列表生成式作出僞隨機數。
  因而就有了這樣(自認爲的)怪誕。。。
   
  
  import random
  list1 = []
  list2 = []
  #雙層僞隨機數形成僞最終的隨機數
  list1 = [list1.append(random.randint(1,2000000))for i in range(1,20000)]
  print(list1)
  list2 = [list2.append(random.choice(list1))for i in range(20)]
  print(list2)

 

 

 

 

 爲何會是None類型呢???的目前我沒法理解的事情,記錄下來,等待之後本身有足夠的知識背景再來解釋,你們有什麼想法也能夠討論下。import

相關文章
相關標籤/搜索