我創建列表中的某些隨機數的工作方案,計算他們的occurrencies,並把結果在字典中,看起來如下:如何訪問嵌套comprehensioned列表
random_ints = [random.randint(0,4) for _ in range(6)]
dic = {x:random_ints.count(x) for x in set(random_ints)])
使因爲,[0,2,1,2,1,4]我得到了{0:1,1:2,2:2,4:1}
我想知道它是否有可能在一個班輪,最好不使用庫函數 - 我想看看python有什麼可能:) 當我嘗試將兩行整合到一行中時,我不知道如何表達兩個引用到同一個理解的列表random_ints .. ???我希望是這樣的:
dic = {x:random_ints.count(x) for x in set([random.randint(0,4) for _ in range(6)] as random_ints))
這當然不工作...
我看了(巢)列表在這裏推導了對SO,但我卻並不適用,我發現我的問題解決方案。
謝謝,s。
因此,這個假的迭代單元素列表(或像@Schoolboy的解決方案中的1元組)是獲得理解名單的方式,以便在主理解中進一步引用 - 酷。但是不應該這麼做,因爲它的概念上並不乾淨 - 即使我不再需要隨機列表。我想我知道了:) - 非常感謝! – user1243904 2013-05-04 19:38:30
@ user1243904:一般來說,嘗試將東西壓縮成一條線只是簡潔而不是Pythonic。如果兩條線更具可讀性,則只需使用兩條線。 – BrenBarn 2013-05-04 19:42:20