파이썬 코드를 효율적으로 작성하기 위해 List Comprehension 을 알아두면 좋다.

for문을 사용하면 아래와 같이 작성해야 하는 코드를

1
2
3
4
5
6
h_letters = []

for character in 'human':
    h_letters.append(letter)
        
print(h_letters)

list comprehension을 사용하면

1
2
h_letters = [character for letter in 'human']
print(h_letters)

이렇게 숏코딩이 가능하다.

위 코드들은 모두
['h', 'u', 'm', 'a', 'n'] 리스트를 결과로 돌려준다.


list comprehension의 구조를 보자.

[   expression         for        item       in         list   

                                        ⇕

[    character          for       letter       in      'human'    ]



list comprehension은 문자열과 튜플을 받아도 리스트 형태로 처리한다. 위 코드에서는 문자열 'human'을 리스트로 처리했다는 것을 알 수 있다.

람다 함수를 사용해서 같은 기능을 하는 코드를 짤 수도 있다.


1
2
letters = list(map(lambda x : x, 'human'))
print(letters)