我試圖返回列表中最常見的元素(統計模式)。不幸的是,我不知道如何在迭代器中使用all
。這就是如果我不使用全部():如何在列表中找到最常見的元素(使用all())
def large(a):
for i in set(a):
for j in set(a):
if a.count(i)<a.count(j):
break
return i
但是,我知道這可以寫得更雄辯。有人能寫出更有說服力的版本嗎? 我相信它是沿着線的東西:
[i for i,j in set(a) if all(a.count(i)>a.count(j)]
此代碼有2個問題。首先是set(a)
需要第二個值才能解包,第二個是all
在這裏不起作用。
請幫我解決。謝謝!
實例:{'a','a','b','b','b','c'}
你所期望的「b
」是最大的元素
'所有()'是不是一個迭代器,[這是一個內置的。](http://docs.python.org/library/functions.html#all) – Makoto
糟糕你的權利我打算說如何使用所有與迭代 –
我已經鏈接你的文檔頁;那應該會給你一個開頭。 – Makoto