5. 반복문으로 세트의 요소를 모두 출력하기
- 세트와 for 반복문을 사용하여 요소를 출력할 때, for in 뒤에 세트만 지정하면 된다.
for 변수 in 세트: 반복할 코드
# for로 세트 a의 요소를 출력 >>> a = {1, 2, 3, 4} >>> for i in a: ... print(i) ... 1 2 3 4
- for i in a: 는 세트 a에서 요소를 꺼내어 i에 저장하고, 꺼낼 때마다 코드를 반복하므로 print로 i를 출력하면 요소를 모두 출력할 수 있다. 단, 세트의 요소는 순서가 없으므로 출력할 때마다 순서가 달라진다.(숫자로만 이루어진 세트는 순서대로 출력됨)
- 물론 in 다음에 세트를 직접 지정해도 괜찮다.
for i in {1, 2, 3, 4}: print(i)
6. 세트 표현식 사용하기
- 세트는 for 반복문과 if 조건문을 사용하여 세트를 생성할 수 있다.
- 다음과 같이 세트 안에 식과 for 반복문을 지정하면 된다.
{식 for 변수 in 반복가능한객체} set(식 for 변수 in 반복가능한객체)
>>> a = {i for i in 'apple'} >>> a {'l', 'p', 'e', 'a'}
- { } 또는 set() 안에 식, for, 변수, in, 반복 가능한 객체를 지정하여 세트를 생성하며, 여기서 반복 가능한 객체는 문자열 'apple' 이다.
- 아래의 그림과 같이 문자열 'apple' 에서 유일한 문자인 'a', 'p', 'l', 'e' 만 변수 i에 꺼내고 최종적으로 i로 세트를 만드는 것으로, 문자열에서 중복된 문자는 세트에 포함되지 않는다.
6-1. 세트 표현식에 if 조건문 사용하기
- if 조건문은 for 반복문 뒤에 지정한다.
{식 for 변수 in 세트 if 조건식} set(식 for 변수 in 세트 if 조건식)
>>> a = {i for i in 'pineapple' if i not in 'apl'} >>> a {'e', 'i', 'n'}
- {i for i in 'pineapple' if i not in 'apl'}은 문자열 'pineapple' 에서 'a', 'p', 'l' 을 제외한 문자들로 세트를 생성한다.
- 즉, 아래의 그림과 같이 for 반복문 뒤에 if 조건문을 지정하면 if 조건문에서 특정 요소를 제외한 뒤 세트를 생성한다.
- if i not in 'apl' 은 {i for i in 'pineapple' if i != 'a' and i != 'p' and i != 'l'} 과 같이 문자를 하나씩 비교하고 and로 연결하는 if 조건문과 같다.
※ 세트는 리스트와 딕셔너리보다 사용 빈도가 낮기 때문에 세트가 수학의 집합을 자료형으로 만든 것이라는 정도만 알아두면 된다.
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 27 정리(2) - 문자열 여러 줄을 파일에 쓰고 읽기 (0) | 2022.02.15 |
---|---|
파이썬 코딩도장 Unit 27 정리(1) - 파일에 문자열 쓰기, 읽기 (0) | 2022.02.14 |
파이썬 코딩도장 Unit 26 정리(4) - 세트의 할당과 복사 (0) | 2022.02.10 |
파이썬 코딩도장 Unit 26 정리(30) - 세트 조작 (0) | 2022.02.09 |
파이썬 코딩도장 Unit 26 정리(2) - 집합 연산 (0) | 2022.02.08 |