Python 列表理解如何做到这一点

Python 列表理解如何做到这一点,python,openerp,list-comprehension,Python,Openerp,List Comprehension,在下面的代码中,将迭代一个列表,并为列表中的每个条目构建一个包含2个值的字典。然后将字典添加到新列表中 下面的代码有效,请参见下面的打印语句结果 但是,有没有可能以一种更简洁的方式,或者通过列表理解来实现这一点呢 ccdl_rows = ccdl_obj.browse(self.cr, self.uid, ccdl_ids) print 'ccdl_rows:', ccdl_rows dist_lines = [] for ccdl in ccdl_rows:

在下面的代码中,将迭代一个列表,并为列表中的每个条目构建一个包含2个值的字典。然后将字典添加到新列表中

下面的代码有效,请参见下面的打印语句结果

但是,有没有可能以一种更简洁的方式,或者通过列表理解来实现这一点呢

ccdl_rows = ccdl_obj.browse(self.cr, self.uid, ccdl_ids)
    print 'ccdl_rows:', ccdl_rows
    dist_lines = []
    for ccdl in ccdl_rows:
        dist_line = {}
        dist_line['destination'] = ccdl.destination_id.code
        dist_line['cost_center'] = ccdl.analytic_id.code
        dist_lines.append(dist_line)
    print 'dist_lines: ', dist_lines

ccdl_rows: [browse_record(cost.center.distribution.line, 12), browse_record(cost.center.distribution.line, 13), browse_record(cost.center.distribution.line, 14)]

dist_lines:  [{'cost_center': u'BI133', 'destination': u'SUP'}, {'cost_center': u'MW109', 'destination': u'SUP'}, {'cost_center': u'BI196', 'destination': u'SUP'}]
当然:

dist_lines = [{'cost_center': ccdl.analytic_id.code,
               'destination': ccdl.destination_id.code}
              for ccdl in ccdl_rows]
当然:

dist_lines = [{'cost_center': ccdl.analytic_id.code,
               'destination': ccdl.destination_id.code}
              for ccdl in ccdl_rows]
当然:

dist_lines = [{'cost_center': ccdl.analytic_id.code,
               'destination': ccdl.destination_id.code}
              for ccdl in ccdl_rows]
当然:

dist_lines = [{'cost_center': ccdl.analytic_id.code,
               'destination': ccdl.destination_id.code}
              for ccdl in ccdl_rows]

为什么不在线创建字典呢<代码>[{'keys':and'values':here}用于ccdl中的ccdl\u行]为什么不内联创建字典<代码>[{'keys':and'values':here}用于ccdl中的ccdl\u行]为什么不内联创建字典<代码>[{'keys':and'values':here}用于ccdl中的ccdl\u行]为什么不内联创建字典<代码>[{'keys':and'values':here}用于ccdl行中的ccdl]