반응형
이 자습서에서는 Python 집합 이해를 사용하여 기존 집합을 기반으로 새 집합을 만드는 방법을 배웁니다.
1. Python Set comprehension 소개
3개의 태그로 구성된 다음 세트가 있다고 가정합니다.
tags = {'Django', 'Pandas', 'Numpy'}
세트의 태그를 소문자로 된 다른 태그 세트로 변환하려면 다음 for 루프를 사용할 수 있습니다.
tags = {'Django', 'Pandas', 'Numpy'}
lowercase_tags = set()
for tag in tags:
lowercase_tags.add(tag.lower())
print(lowercase_tags)
Output:
{'django', 'numpy', 'pandas'}
작동 방식:
- 먼저 태그 세트의 각 요소를 반복합니다.
- 둘째, 각 태그를 소문자로 변환하고 새 세트(lowercase_tags)에 추가합니다.
또는 기본 제공 map() 함수를 람다 식과 함께 사용할 수 있습니다.
tags = {'Django', 'Pandas', 'Numpy'}
lowercase_tags = set(map(lambda tag: tag.lower(), tags))
print(lowercase_tags)
map() 함수는 지도 객체를 반환하므로 set() 함수를 사용하여 집합으로 변환해야 합니다.
코드를 더 간결하게 만들기 위해 Python은 다음과 같이 집합 이해 구문을 제공합니다.
{expression for element in set if condition}
집합 내포를 사용하면 기존 집합을 기반으로 새 집합을 만들 수 있습니다.
집합 이해는 다음 단계를 수행합니다.
- 먼저 집합의 요소를 반복합니다.
- 둘째, 각 요소에 표현식을 적용합니다.
- 셋째, 식으로 인해 새로운 요소 집합을 만듭니다.
또한 set comprehension을 사용하면 if 절의 조건을 통해 표현식을 적용할 요소를 선택할 수 있습니다.
집합 내포는 새로운 집합을 반환하며 원래 집합을 수정하지 않습니다.
이전 예제로 돌아가서 다음 집합 이해를 사용하여 태그 집합의 모든 태그를 변환할 수 있습니다.
tags = {'Django', 'Pandas', 'Numpy'}
lowercase_tags = {tag.lower() for tag in tags}
print(lowercase_tags)
이 구문은 확실히 for 루프보다 더 간결하고 map() 함수보다 더 우아해 보입니다.
2. Set comprehension 예제
Numpy를 제외하고 태그 세트의 모든 요소를 소문자로 변환하고 싶다고 가정합니다.
이를 위해 다음과 같이 집합 내포에 조건을 추가할 수 있습니다.
tags = {'Django', 'Pandas', 'Numpy'}
new_tags = {tag.lower() for tag in tags if tag != 'Numpy'}
print(new_tags)
Output:
{'django', 'pandas'}
3. Summary
Python 집합 이해를 사용하여 기존 집합의 각 요소에 식을 적용하여 기존 집합을 기반으로 새 집합을 만듭니다.
refreance: https://www.pythontutorial.net/python-basics/python-set-comprehension/
728x90
반응형
'Programing > Python' 카테고리의 다른 글
파이썬 명명규칙은 어떻게 되나요? (0) | 2023.03.13 |
---|---|
Python Set Union: Set 합집합 사용하기 (0) | 2023.03.13 |
Python Set: 집합 자료형 사용방법 (0) | 2023.03.10 |
Python Dictionary Comprehension 사용 방법 (0) | 2023.03.10 |
Python Dictionary 사용방법? (0) | 2023.03.09 |
댓글