万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・寄付お願いします
    YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
    BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
    c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

Pythonの気が利かないソート

・一旦、sortedで辞書型の中身を綺麗にして、my_numのソートを行う。

>>> hoge = sorted(dic.items(), cmp=lambda x, y:cmp(int(x), int(y)), key=lambda x:x[1]['my_num'], reverse=False)
>>> hoge
[('User 01', {'my_num': 0, 'point': {'bekilled_cnt': 0, 'killed_cnt': 0, 'attacked_cnt': 0}}), ('User 02', {'my_num': 1, 'point': {'bekilled_cnt': 0, 'killed_cnt': 0, 'attacked_cnt': 0}}), ('User 04', {'my_num': 2, 'point': {'bekilled_cnt': 0, 'killed_cnt': 0, 'attacked_cnt': 0}})]

sortedでソートするとリスト型になってしまう。

・再びdict()で辞書型に戻す

>>> dict(hoge)
{'User 04': {'my_num': 2, 'point': {'bekilled_cnt': 0, 'killed_cnt': 0, 'attacked_cnt': 0}}, 'User 01': {'my_num': 0, 'point': {'bekilled_cnt': 0, 'killed_cnt': 0, 'attacked_cnt': 0}}, 'User 02': {'my_num': 1, 'point': {'bekilled_cnt': 0, 'killed_cnt': 0, 'attacked_cnt': 0}}}

しかし、dict()の影響でまたmy_numが元に戻ってしまう・・。