728x90
반응형
zip 함수
여러 개의 iterable 객체들을 지퍼를 닫아주듯 번갈아가며 짝지어서 튜플 형태의 iterator로 반환
길이 다르면 나머지 버려진다.
zip(iterable_1, iterable_2)
- output : zip 객체(iterable=반복가능)
[tuple(1,2번이 번갈아가져 짝지어진 형태), ...]
이 객체를 list, tuple 등으로 변환하여 사용
사용법
list(zip(iterable_1, iterable_2))
- input :
iterable_1 : [1,2,3]
iterable_2 : [4,5,6]
- output : [(1,4),(2,5),(3,6)]
- 설명 : zip 함수로 객체 2개를 짝지어진 형태로 변환함
그 결과로 나온 zip 객체를 list로 변환
map 함수
iterable 객체의 모든 요소에 동일한 동작(함수) 적용 시 사용.
메모리자원 효율적으로 사용가능.
map(함수, iterable객체)
- 기능 : iterable객체의 각 요소에 함수적용
원본수정x, 새 객체 생성됨
- output : map객체(iterable=반복가능)
이 객체를 list, tuple 등으로 변환하여 사용
map(str, range(10)) : 0~9까지를 str로 형변환
map(함수, 리스트[])
map(함수, 튜플())
map(lambda x : x+1, iterable객체) : 람다 함수 사용도
사용법
● 주로 입력받은 값을 정수로 변환하는데 사용됨.
list(map(int, input().split()))
- input : 1 2 3
- ouput : [1,2,3]
- 설명 : split()이 공백을 구분자로 잘라서 리스트로 반환
map함수를 이용해 리스트의 각요소를 int형으로 변환
● 지정한 변수에 나눠서 할당 가능 (unpacking)
a, b, c = map(int, input().split())
- input : 1 2 3
- output : a=1, b=2, c=3
- 설명 : split()이 공백을 구분자로 잘라서 리스트로 반환
map함수를 이용해 리스트의 각요소를 int형으로 변환
지정한 변수에 리스트를 unpacking 해서 나눠서 할당
map객체는 이터레이터라서 unpacking 가능한 것임.
+ 리스트의 각 요소끼리 더하기
[1,2,3] + [4,5,6] = [1,2,3,4,5,6] 이다.
각 요소끼리 더하고 싶을땐 아래와 같이 map함수와 operator 사용
import operator
new_arr[n] = list(map(operator.add, [1,2,3], [4,5,6]))
[5,7,9]
filter 함수
iterable 객체의 모든 요소에 대해 함수의 결과(True/False)에 따라 필터링 할때 사용
메모리자원 효율적으로 사용할 수 있음.
filter(함수, iterable객체)
- 기능 : iterable객체의 각 요소에 함수적용하여 필터링
원본수정x, 새 객체 생성함
- output : filter객체(iterable=반복가능)
이 객체를 list, tuple 등으로 변환하여 사용함
● 람다 함수 사용도 가능
filter(lambda x : x%2==0, iterable객체)
사용법
ex) 리스트안에 특정 값이 몇 번 인덱스에 해당하는지 모두 찾기
[1,2,5,1,1] 에서 1이라는 숫자가 몇 번 인덱스에 해당하는지 모두 찾아서 리스트로 반환해보자
target = 1
arr = [1,2,5,1,1]
a = list(filter(lambda x: arr[x] == target, range(n)))
결과 : [0,3,4]
join 함수
'구분자'.join(리스트)
['a','b','c'] → 각 요소 사이에 구분자를 넣어서 하나의 문자열로 합쳐줌
''.join(['a','b','c'])
결과:'abc'
반응형
'Python > 문법' 카테고리의 다른 글
파이썬(python) 값 전달, 참조 전달 (0) | 2021.05.09 |
---|---|
파이썬(python) 과 C언어의 변수 저장 방식 차이 (1) | 2021.05.09 |
파이썬(python) 문자열 중복제거 (unique) (2) | 2021.05.01 |
파이썬 (python) 자료형 (0) | 2021.04.23 |
파이썬(python) 정렬 (sort) (0) | 2021.04.20 |