컴프리헨션

R 사용자용 Python

Daniel Chen

Instructor

컴프리헨션은 루프입니다

  • 리스트를 순회(반복)
  • 함수 적용
  • 결과를 새 리스트에 추가
R 사용자용 Python

리스트 컴프리헨션

루프
data = [1, 2, 3, 4, 5]
new = []
for x in data:
    new.append(x**2)
print(new)
[1, 4, 9, 16, 25]
컴프리헨션
data = [1, 2, 3, 4, 5]

new = [x**2 for x in data]
print(new)
[1, 4, 9, 16, 25]
R 사용자용 Python

딕셔너리 컴프리헨션

루프
data = [1, 2, 3, 4, 5]
new = {}

for x in data:
    new[x] = x**2
print(new)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
컴프리헨션
data = [1, 2, 3, 4, 5]

new = {x: x**2 for x in data}
print(new)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
R 사용자용 Python

`for` 루프의 대안

  • for 루프로 순회
  • R: sapply, lapply, apply 함수
  • Python: map 함수 및 apply 메서드
R 사용자용 Python

Map

For 루프
def sq(x):
    return x**2

l = [1, 2, 3]
for i in l:
    print(sq(i))
1
4
9
Map
map(sq, l)
<map at 0x7f41cca38358>
list(map(sq, l))
[1, 4, 9]
R 사용자용 Python

연습해 봅시다!

R 사용자용 Python

Preparing Video For Download...