Python随笔——Map之键对应多值的处理

在使用 Python 处理时,因为某些原因,可能遇到 Map 的键对应多个值的处理。
很常见的比如:查询某表的结果,对应了多条记录。
此时使用Python进行算法处理时,其中一种方式如下:
定义一个 map,将执行结果通过 map.update() 进行更新,然后通过 map.copy() 方法进行浅拷贝并用 list 进行接收和追加,最后解析该 list.

代码片段如下:

        cr.execute("SELECT VOUCHER_LIST_TYPE_CODE, VOUCHER_TYPE_CODE, VOUCHER_ORDER FROM ACCT.CORE_ACT_VOUCHER_INFO \
ORDER BY VOUCHER_LIST_TYPE_CODE")
        result = cr.fetchall()
        __map = {'VOUCHER_LIST_TYPE_CODE': '', 'VOUCHER_TYPE_CODE': '', 'VOUCHER_ORDER': ''}
        __lst = list()
        for i in range(len(result) - 1):
            __map.update(VOUCHER_LIST_TYPE_CODE=result[i][0], VOUCHER_TYPE_CODE=result[i][1],
                         VOUCHER_ORDER=result[i][2])
            tmp = __map.copy()
            __lst.append(tmp)
        print(__lst)
posted @ 2018-09-12 01:41  v海神与小周  阅读(307)  评论(0编辑  收藏  举报