⏰ 2024.12.13 (D+47)
- 리스트에 대한 기본적인 내장 함수를 활용하여 리스트의 최소값, 최대값, 총합 등을 구하기
(⭐ 내장 함수 : min( ), max( ), sum( ) )
예) max(list)로 리스트에서 최대값을 구하거나, sum(list)로 총합을 계산 가능
- 리스트 표현식은 간결한 문법으로 새로운 리스트를 생성하는 방법
- 예) [i * i for i in range(1, 6)]은 1부터 5까지의 숫자의 제곱을 담은 리스트를 생성
- map() 함수는 주어진 함수를 리스트의 모든 요소에 적용하여 결과를 반환
- 예) map(str, [1, 2])는 숫자 리스트를 문자열로 변환
- 리스트의 각 요소에 동일한 작업을 효율적으로 적용할 때 유용
- for문을 활용해 리스트의 요소를 순차적으로 처리 가능
- 중첩된 리스트나 비슷한 복잡한 구조도 처리 가능
- 집합을 생성할 때는 {} 또는 set() 함수를 사용
- 예) set_ = {1, 2, 3}은 간단히 집합을 생성하는 방법
- 중요한 점은 리스트나 딕셔너리 같은 mutable 객체는 집합의 요소로 사용할 수 없다는 점
- 합집합 (Union): 두 집합의 모든 요소를 포함하는 집합을 생성
set1 | set2 set1.union(set2)
- 교집합 (Intersection): 두 집합에 모두 포함된 요소만 남긴다.
set1 & set2 set1.intersection(set2)
- 차집합 (Difference): 한 집합에만 있는 요소를 남긴다
set1 - set2 set1.difference(set2)
- 대칭 차집합 (Symmetric Difference): 두 집합에서 공통된 요소를 제외한 요소들을 남긴다
set1 ^ set2 set1.symmetric_difference(set2)
- 집합에서는 요소를 추가하거나 삭제 가능
- add( ) 메소드를 사용하여 새로운 요소를 추가하고, remove( )와 discard( )로 요소를 삭제
- remove( )는 요소가 없으면 KeyError를 발생
- discard( )는 오류 없이 요소를 제거
- 문자열에서 집합 생성:
set_ = {i for i in 'HELLO'} print(set_): 이 코드는 {'H', 'E', 'L', 'O'}와 같이 중복을 제거한 집합을 반환
- 조건부 집합 표현식: 집합을 생성할 때 조건을 추가
set_ = {i for i in range(1, 6) if i % 2 == 0}예) 1부터 5까지의 숫자 중 짝수만 포함된 집합을 생성
- map( ) 함수와 집합 표현식을 결합하여 데이터를 변환하면서 집합을 생성
- 예) map(int, input().split())으로 입력받은 값을 정수로 변환하고 이를 집합으로 저장하는 방식
names = {student.get('name') for student in students if sum(map(int, student.values())) / len(student) >= 90}