파이썬

Python 11. 컬렉션과 반복문

아리벱 2024. 3. 15. 17:01

저희는 컬렉션과 반복문이 무엇인지에 대해서 배웠습니다.

리스트, 튜플, 세트, 디렉션이 있었습니다. 자료구조들이 반복문과 어떻게 관련이 있고 활용되는지 알아보겠습니다.

 

1.리스트와 for문

 

연습 문제를 풀어보면서 익혀보겠습니다.

 

 

60점 이상인 경우 학생이 몇 명인지 확인해야 하므로 if 조건문이 필요합니다. 또 score 리스트에 있는 요소들이 반복되어야 하므로 반복문도 필요해 보입니다. if 조건문에서 60점 이상인 score들이 나올 때마다 계산을 하는 방법이 있습니다.

 

2. 딕셔너리와 for문

딕셔너리는 키와 값을 쌍으로 저장하는 컬렉션입니다.

딕셔너리에서 키와 값을 동시에 출력하고 싶을 때에는 dic.items()를 사용합니다. 이 메서드는 딕셔너리의 키와 값을 쌍으로 하는 튜플들을 반환합니다. 일반적으로  메서드는 딕셔너리의 키와 값을 동시에 반복(iterate)하고자   사용됩니다.

 

지금까지 반복문과 조건문을 여러 행에 나열하여  사용했습니다. 그러나 더 간단하게 작성하여 출력하는 방법이 있습니다.

 

3. 컴프리헨션(Comprehension)

컴프리헨션(Comprehension)은 파이썬에서 리스트, 세트, 딕셔너리 등의 컬렉션을 간단하게 생성하거나 변형하는 방법 중 하나입니다. 컴프리헨션은 반복문과 조건문을 사용하여 간결하게 컬렉션을 생성하는 기법으로, 코드를 더 간단하고 가독성 좋게 작성할 수 있도록 도와줍니다.

 

3-1. 리스트 컴프리헨션

리스트 컴프리헨션은 새로운 리스트를 생성하는데 사용됩니다. 기존 리스트의 각 요소를 반복하면서 조건을 적용하여 새로운 리스트를 생성할 수 있습니다.

 

반복문과 조건문이 함께 쓰인 경우도 있습니다.

 

0부터 10까지의 짝수를 구하라.

짝수를 구해야 하기 때문에 2로 나누어 나머지가 0인 요소들을 출력합니다.

 

arr중 양수는 리스트에 그대로 저장하고 음수는 0으로 변환해서 저장한다.

 

이렇듯 경우에 따라서 반복문과 조건문의 위치가 바뀝니다.

리스트 컴프리헨션을 통해 보다 간결하게 코드를 작성할 수 있습니다.

 

3-2. 세트 컴프리헨션

세트 컴프리헨션은 새로운 세트를 생성하는데 사용됩니다. 기존 세트의 각 요소를 반복하면서 조건을 적용하여 새로운 세트를 생성할 수 있습니다.

중복을 제거하는 세트의 특성이 나타납니다.

 

3-3. 딕셔너리 컴프리헨션

딕셔너리 컴프리헨션은 새로운 딕셔너리를 생성하는데 사용됩니다. 기존 딕셔너리의 키와 값을 반복하면서 조건을 적용하여 새로운 딕셔너리를 생성할 수 있습니다.

 

기존의 리스트를 이용하여 새로운 딕셔너리를 생성할 수 있습니다.

다음은 리스트의 요소를 키, 값을 요소의 길이로 설정하였습니다.