9

私はPythonの初心者なので、Pythonで辞書の最初の50要素を取得しようとしています。値でソートされた降順の辞書があります。

k=0
l=0
for k in len(dict_d):
    l+=1
    if l<51:
        print dict

小さな例:

 dict_d={'m':'3','k':'4','g':'7','d':'9'}

新しい辞書の最初の 3 つの要素を取得します。

 new_dict={'m':'3','k':'4','g':'7'}

私はそれを行う方法を見つけることができませんでしたか?

4

5 に答える 5

12
dict_d = {...}
for key in sorted(dict_d)[:50]:
    print key, dict_d[key]
于 2013-06-07T04:13:51.407 に答える
0

50 個の任意の要素を使用できます (OrderedDict

>>> from itertools import islice
>>> d = dict.fromkeys(range(-50, 50))
>>> list(islice(d, 50))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]

この例を使用してrange(-50, 50)、注文が信頼できないことを示しました

于 2013-06-07T04:18:41.800 に答える
0

カウンターを使用した簡単な for ループでうまくいくはずです。

count = 0
for key in my_dict:
    if count < 50:
        print my_dict[key]
    count += 1
于 2013-06-07T04:19:26.677 に答える