Python 요약

Python 요약 정리(개념 및 함수/메서드) : 집합 ~ 리스트 컴프리헨션, 람다

룻밤 2024. 10. 7. 19:10

 

 

집합(Set) 

중복되지 않는 순서 없는 항목들의 모음을 말하며, 파이썬에서 집합 연산까지 지원

 

  • 집합 생성
집합명 = {요소}
집합명 = set(요소)
{} or set()		# 빈 집합

 

  • 집합 메서드
집합명.add(요소) # 요소 추가
집합명.remove(요소) # 요소 제거

 

  • 집합연산
집합1 | 집합2	# 합집합
집합1 & 집합2	 # 교집합
집합1 - 집합2	 # 차집합
집합1 ^ 집합2	 # 대칭차집합

강제 형변환

int()	# 정수형변환
float()	# 실수형변환
str()	# 문자열변환

 


불리언(Boolean)이 True일 때

숫자 : 0이 아닌 모든 숫자(정수,실수,복소수 등)

문자열 : 빈 문자열 제외
리스트, 튜플, 집합, 딕셔너리 : 빈 컨테이너 제외
기타 객체 : none 제외

 


시퀀스 변환

list()	# 리스트 변경
tuple()	# 튜플 변경
set()	# 집합 변경

 

리스트, 튜플, 집합(셋) 간에 서로 변환 가능

ex) list(튜플)


추출

for idx, value in enumerate(반복 대상):		# 인덱스와 값 추출
for key, value in 딕셔너리.items():		# 딕셔너리 키-값 쌍 추출

 


리스트 컴프리헨션

리스트명 = [표현식 for 요소 in 이터러블 if 조건]	# 조건이 참일때 표현식을 거쳐 리스트에 추가
리스트명 = [표현1 if 조건 else 표현2 for 요소 in 이터러블]	# 조건이 참이면 표현1, 아니라면 표현2를 리스트에 추가

 

이터러블 : 반복 가능한 객체 (리스트, 튜플, 집합, 문자열, 딕셔너리, 사용자 정의 클래스)


람다 함수

lambda 인자들: 표현식

# ex
words = ["apple", "banana", "cherry", "grape"]

words.sort(key=lambda word: len(word)) 
print(words)	// ['grape', 'apple', 'banana', 'cherry']

 

람다 함수 = 익명 함수

장점 : 익명성, 간결함, 임시 사용

 

  • map(함수, 시퀀스)

 시퀀스(리스트, 튜플 등)의 각 요소에 대해 지정된 함수를 적용하여, 그 결과를 새로운 시퀀스로 반환

numbers = [1, 2, 3, 4, 5]

new_numbers = list(map(lambda x: x * 2, numbers)) 
print(new_numbers)		# [2, 4, 6, 8, 10]

 

  • filter(함수, 시퀀스)

시퀀스의 각 요소에 대해 주어진 조건을 만족하는 요소들만 걸러내어 새로운 시퀀스로 반환

 

 
 
 
numbers = [1, 2, 3, 4, 5, 6]

filtered_numbers = list(filter(lambda x: x >= 3, numbers)
print(filtered_numbers)		# [3, 4, 5, 6]