いくつかのコードでとても忙しく、基本的に各値がリストである辞書を取り、最大のリストを持つキーを返す関数があります。
私は次のように書いた:
def max_list(dic):
if dic:
l1 = dic.values()
l1 = map(len, l1)
l2 = dic.keys()
return l2[l1.index(max(l1))]
else:
return None
他の誰かが次のように書いています。
def max_list(dic):
result = None
maxValue = 0
for key in dic.keys():
if len(dic[key]) >= maxValue:
result = key
maxValue = len(dic[key])
return result
もしあれば、これを行うための「正しい」方法はどれでしょう。これがコミュニティウィキと見なされないことを願っています(コードは機能しますが)。問題の観点から、どちらが最良のパターンであるかを理解しようとしています。