2017年1月11日水曜日

開発環境

行列プログラマー(Philip N. Klein (著)、 松田 晃一 (翻訳)、 弓林 司 (翻訳)、 脇本 佑紀 (翻訳)、 中田 洋 (翻訳)、 齋藤 大吾 (翻訳)、オライリージャパン)の0章(関数(とその他の数学とコンピュータに関する予備知識))、0.5(ラボ: Python 入門 - 集合、リスト、辞書、内包表記)、0.6.2(モジュールの作成)、課題 0.6.3、0.6.4を取り組んでみる。

課題 0.6.3、0.6.4

コード(Emacs)

Unit Test

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import unittest
from dictutil import *


class Test(unittest.TestCase):

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test_abc(self):
        self.assertEqual(listrange2dict(['A', 'B', 'C']),
                         {0: 'A', 1: 'B', 2: 'C'})

if __name__ == '__main__':
    unittest.main()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-


# 5.30
def dict2list(d, key_list): return [d[k] for k in key_list]


# 5.31
def list2dict(l, key_list): return {v: l[i] for i, v in enumerate(key_list)}


def listrange2dict(l):
    return {i: v for i, v in enumerate(l)}

入出力結果(Terminal, IPython)

$ ./test6_2.py -v
test_abc (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
$

0 コメント:

コメントを投稿