[] 연산자는 우리가 지금 새로운 리스트를 만들고 있다는 것을 나타낸다. [] 안의 표현식은 리스트의 원소들을 지정하고, for 절에서는 우리가 순회하는 시퀀스를 나타낸다.
이 예제에서 표현식에 사용된 루프 변수 s는 정의하기 전에 쓰이기 때문에 리스트 컴프리헨션의 구문은 약간 이상해 보인다.
리스트 컴프리헨션은 필터링에도 쓰인다. 예를 들어 이 함수는 t의 원소 중에 대문자인 것만 선택해서 새로운 리스트를 반환한다.
def only_upper(t):
res = []
for s in t:
if s.isupper():
res.append(s)
return res