2011-06-18 13 views
2

私は次のような配列を持っています。見つける最小値は

min = 99999 
for e in people: 
    if e[dist] < min: 
     min = e[dist] 
print "minimum is " + str(min) 

このタスクを達成するためのより良い方法があれば、私は疑問に思って:例えば、上記の例では、答えは私には、次のコードを書いた3

だろう。あなたはすべてのキーでリストを作成するジェネレータ式を使用して、内蔵の分の機能を使用することができ

minimum = min(e['dist'] for e in people) 
# Don't call the variable min, that would overshadow the built-in min function 
print ('minimum is ' + str(minimum)) 
+0

そのリストは配列ではありません:P –

答えて

8

min機能を使用し

min(x['dist'] for x in people) 
3
min(x['dist'] for x in people) 
0
min(people, key=lambda x:x['dist'])['dist'] 
関連する問題