简化Python中复杂列表理解的代码

时间:2017-02-01 15:35:59

标签: python python-2.7 list simplify simplification

在Python中假设一个字典列表(lst_of_dcts)。此外,假设我希望修改(例如,以ASCII编码)每个字典v中的键值对k:v的每个值dcts。为了做到这一点,我使用列表理解,但代码行变得很长,很难阅读。

import unidecode
[{k: unidecode.unidecode(v.decode('utf-8')) for k, v in dct.items()} for dct in lst_of_dcts]

您如何将上面的列表理解分成更短,更易于阅读的行? (请注意,我并不意味着只需通过反斜杠重新格式化线条。)

1 个答案:

答案 0 :(得分:0)

  

请注意,我并不是指通过例如反斜杠重新格式化线条。

为什么不呢?这正是我要做的就是让它更具可读性。当然,正确缩进以显示结构:

[{k: unidecode.unidecode(v.decode('utf-8'))
  for k, v in dct.items()}
 for dct in lst_of_dcts]