파이썬
[Python] 헷갈리는 함수 모음
syeonny
2024. 9. 3. 17:16
Containers 컨테이너
두 개 이상의 값을 저장함.
- 리스트 딕셔너리 집합 튜플
컨테이너는 보통 iterable
Iterator 이터레이터
여러 개를 반환, 반복
next()를 이용하여 순차적으로 반환함. 컨테이너는 iter()를 이용하여 이터레이터로 변환 가능함
Generater 제너레이터
yield 문으로 한번에 하나의 결과 반환.
yield가 호출될 때마다 함수의 실행이 멈추고, 이후 다시 호출되면 멈춘 지점부터 다시 실행
이미 만든 함수를 사용하는 것은 제너레이터에 해당함.
제너레이터는 [] 대신 () 사용을 함
리스트 컴프리헨션을 사용하는 것보다 메모리 사용이 적기에 제너레이터를 사용함
리스트 컴프리헨션
모든 값에 대해 조건을 적용하고 결과를 다시 리스트로 표현
[조건 for i in list_nums ]
# 변수 = [i에 대한 조건 for i in 리스트]
nums = [1,2,3]
square = [x**2 for x in nums]
* 조건절의 추가
[조건 for x in nums if x%2 == 1]
map
map 함수
map(함수, 파라미터)
파라미터를 함수에 적용시켜 새로운 리스트에 담아줌
map(lambda x: x ** 2, range(5))
표현식 [0,1,4,9,16]
zip
두 리스트를 묶을 때 사용함.
딕셔너리 형태로도 가능함. --> 두 리스트에서 하나는 key , 하나는 value
x = ['happy', 'sad', 'bad']
y = [100, 40, 20]
z = zip(x, y)
print(list(z))
lambda
람다 함수란?
일회용으로 사용하기 위해 만든 함수
람다를 사용한 매개변수 표현식
lambda 매개변수 : 표현식
lambda x : 2 * x
예외처리
error를 처리하기 위한 방법
try, except를 사용
try:
코드1
except:
코드2