4

必要な出力が最小値の要素を取得することであるという質問を読んでいました

もしそうなら

d= {'a':2,'b':3,'f':5}

答えは

与えられた答えはmin(d, key=d.get)

誰でもこれがどのように機能するか説明できますか

4

1 に答える 1

4

このmin関数は、指定されたキーに従ってiterableの最小値を返します。この場合d、最小値ののキーを返します。d.getディクショナリキーに対応する値にアクセスできます。ディクショナリキーは、を繰り返すときに繰り返されdます。

例えば:

>>> min([3, 5, 2, 1, 5])
1
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for i in d:
...     print i
b
c
a
>>> d.get('b')
2
>>> d.get('d')  # Nothing is returned
>>> min(d, key=d.get)
'a'

key引数はmin、最小値を見つけたいキーを指定します。

例えば:

>>> min(['243', '172344', '6'])
172344
>>> min(['243', '172344', '6'], key=len)
6

関数は次のminようなことをします:

>>> min(['243', '172344', '6'], key=len)
# sort the list with key (call `len` on every element and sort based on that)
# sorted(['243', '172344', '6'], key=len)
# return the first element (lowest value)
# sorted(['243', '172344', '6'], key=len)[0]
6
于 2013-02-20T09:15:16.040 に答える