zip()
함수는 여러 개의 반복 가능한(iterable) 객체를 인자로 받고, 순서대로 튜플로 엮는 함수이다.
In [9]:
a = [1, 2, 3]
b = [7, 8, 9]
for elements in zip(a, b) :
print(elements)
(1, 7)
(2, 8)
(3, 9)
In [10]:
# 따로 출력하는 것도 가능
for i, j in zip(a, b) :
print(i, j)
1 7
2 8
3 9
In [3]:
# print안의 인자 앞에 *을 붙여주면 개별 요소를 출력함
print(*zip(a,b))
(1, 7) (2, 8) (3, 9)
In [4]:
# 셋 이상의 객체를 엮는 것도 가능
c = ('가', '나', '다')
d = [-7, (0, 7), 'A']
print(*zip(a, b, c, d))
(1, 7, '가', -7) (2, 8, '나', (0, 7)) (3, 9, '다', 'A')
In [5]:
# 길이가 다른 객체를 엮으면 길이가 짧은 객체 기준으로 엮임
e = [10, 20, 30, 40]
print(*zip(a, e))
(1, 10) (2, 20) (3, 30)
In [6]:
# 두 객체를 엮어 딕셔너리 형태로 만들 수 있음
f = dict(zip(c, a))
print(f)
{'가': 1, '나': 2, '다': 3}
In [7]:
# 딕셔너리를 zip 안에 넣으면 key값만 엮임
print(*zip(b, f))
(7, '가') (8, '나') (9, '다')
In [8]:
# 리스트 요소끼리 직접 연산도 가능
[i * j for i, j in zip(a, b)]
Out[8]:
[7, 16, 27]
'파이썬 팁' 카테고리의 다른 글
list.sort()와 sorted()의 차이, key 인자 활용 (0) | 2022.12.04 |
---|---|
클래스, 메소드 정보 조회하기 (0) | 2022.12.01 |
결측치에 그룹별 최빈값 대입하기 (0) | 2022.11.27 |
조건에 맞는 데이터에 값 대입 (0) | 2022.11.11 |
transform 메소드로 결측치에 그룹별 평균값 대입하기 (0) | 2022.11.09 |
댓글