제너레이터 표현식과 next함수의 활용

2024. 6. 21. 12:39전처리/PYTHON

 

01 파이썬 코드 훈련 문제


13번 코딩테스트 연습 - 자릿수 더하기 | 프로그래머스 스쿨

14번 코딩테스트 연습 - 약수의 합 | 프로그래머스 스쿨

15번 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 | 프로그래머스 스쿨

 

02 사용한 코드


13번 문제: sum([int(i) for i in list(str(N))])
14번 문제: sum([i for i in range(1,num+1) if num%i==0])
15번 문제: next(i for i in range(1,num+1) if num%i==1)

 

03 인사이트


1. 리스트컴프리헨션 내에서 if 조건문 사용 방법

- 리스트 내에서 for 반복문 다음으로 if 조건문을 추가하는 순서로 작성한다.

 

2. lambda 함수의 효율적인 사용 방법: 익명의 함수 정의

1. 튜플 리스트를 두 번째 요소를 기준으로 정렬
data = [(1, 2), (3, 1), (5, 3)]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # 출력: [(3, 1), (1, 2), (5, 3)]
2. map 함수를 사용하여 리스트의 각 요소를 제곱
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)  # 출력: [1, 4, 9, 16, 25]
3. 리스트에서 짝수만 필터링
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 출력: [2, 4, 6]

 

3. 제너레이터 표현식과 next 함수의 활용

- next 함수는 제너레이터 표현식과 함께 사용하여 조건을 만족하는 첫 번째 항목을 찾는다.

- min도 가능함을 팀원분의 코드를 통해 배웠다.