본문 바로가기
Python

[python] list comprehension(리스트 내포)

by 콧등치기국수 2020. 11. 7.

리스트 내포란?

>>> 반복문 또는 반복문과 조건문을 사용하여 리스트를 정의하는 방법

 

 

1. 예시

suit = ['♠', '♣', '♡', '◇']
denomination = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']

>>> ♠A

       ♠2

       ♠3

...

       ♣A

       ♣2

...

두 리스트를 이용하여 위와 같이 출력되게 하려면 어떻게 해야할까?

 

 

1-1. 첫 번째 방법

suit = ['♠', '♣', '♡', '◇']
denomination = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']

for i in suit:
    for j in denomination:        # 변수 j부터 바뀜 
        print(i+j)

 

1-2. 두 번째 방법

'문양+숫자 및 글자'의 모든 조합을 하나의 1차원 리스트에 모아 출력하는 코드

print([i+j for i in suit for j in denomination])

두 개의 변수를 동시에 적을 수 있다!

 

# 결과_ 보기좋게 표시해둠
['♠A', '♠2', '♠3', '♠4', '♠5', '♠6', '♠7', '♠8', '♠9', '♠10', '♠J', '♠Q', '♠K', 
'♣A', '♣2', '♣3', '♣4', '♣5', '♣6', '♣7', '♣8', '♣9', '♣10', '♣J', '♣Q', '♣K', 
'♡A', '♡2', '♡3', '♡4', '♡5', '♡6', '♡7', '♡8', '♡9', '♡10', '♡J', '♡Q', '♡K', 
'◇A', '◇2', '◇3', '◇4', '◇5', '◇6', '◇7', '◇8', '◇9', '◇10', '◇J', '◇Q', '◇K']