0
如果我們需要在Python中實現counter.elements()
(就像在Python中編寫代碼的做法一樣),下面的工作,但我想知道什麼會是一個更Python的寫法呢?作爲一種實踐,你會如何以pythonic的方式編寫counter.elements()?
所以我認爲它類似於:如果你有一個字典的鍵和計數,你如何返回一個數組放置在數組中的所有元素?
import collections
from functools import reduce # needed for Python 3
counter = collections.Counter(['hello', 'world', 'hello', 'hi', 'hello', 'hi'])
print([i for i in counter.elements()])
print(reduce(lambda a, b: a + b, [[k] * v for (k, v) in counter.items()]))
(最後一行是模擬的counter.elements()
效果...可能以不同的順序元件,其不被保證。爲了簡化的代碼,就假定該計數不爲負。)
所以問題是,如何以更好的方式或更爲Python的方式寫出最後一行。
也許你可以解釋你在做什麼? –
試圖執行'counter.elements()'我自己作爲練習 –
你設法寫'counter.elements()',是的。仍然不清楚你在問什麼。 –