2017-02-01 8 views
-2

파이썬에서 사전 목록 (lst_of_dcts)을 가정하십시오. 또한 각 사전 dcts의 키 - 값 쌍 k:v의 각 값 v을 수정 (예 : ASCII로 인코딩)하고 싶다고 가정합니다. 그렇게하기 위해, 나는리스트 이해력을 사용하고 있지만, 코드 라인은 꽤 길어서 읽기가 어렵다.파이썬에서 복잡한 목록 이해의 코드를 간략화하십시오.

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

어떻게하면 위의 목록 이해가 더 짧고 읽기 쉬운 줄로 분리됩니까? (예를 들어 백 슬래시 등을 통해 줄을 다시 포맷한다는 의미는 아닙니다.)

+5

당신은 그 컴플렉스를 호출합니까? 나는하지 않는다. 나는 그것을 파이썬이라고 부른다. –

+3

'unidecode import unidecode'에서 가져 오기를 변경하고 괜찮습니다! – wim

+0

일반'for x in xs :'를 사용할 수 있습니다. – Gabriel

답변

0

역 슬래시 등을 통해 줄을 다시 포맷한다는 의미는 아닙니다.

왜 안 되니? 그게 내가 더 쉽게 읽을 수 있도록하려는 것입니다. 물론 적절하게 들여 쓰여진 구조는 다음과 같습니다.

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

충분합니다. 너는 나를 확신시켰다. –