[python] list comprehension & extend

남영민·2022년 6월 4일
0

Facebook Api를 뜯어보다가 아래와 같은 구문이 있었습니다.

params['fields'].extend(field for field in fields if field not in params['fields'])

위의 구문에서 field for field in fields if field not in params['fields'] 부분은 list comprehension으로 python의 list를 간결하게 만들어주는 부분입니다.

list comprehension의 사용법은 아래와 같습니다.

[<expression> for <value> in <list> if <condition>]

list 안의 value가 조건에 맞으면 표현식을 적용합니다. 따라서, field for field in fields if field not in params['fields'] 구문은 field가 params['field']안에 포함되지 않으면 field를 그대로 사용하겠다는 것입니다.

다음으로, extend는 a 리스트에 b 리스트 각각의 요소를 추가해주는 것입니다.
append와의 차이점을 살펴보면 명확합니다.

a = ["a", "b", "c"], b = ["d", "e", "f"]

a.append(b)를 하면 결과값은 ["a", "b", "c", ["d", "e", "f"]]
a.extend(b)를 하면 결과값은 ["a", "b", "c", "d", "e", "f"]

profile
성장하는 개발자

0개의 댓글