파이썬 Tips

Sungjick Lee·2020년 9월 1일
0

파이썬

목록 보기
1/1

딥러닝 공부 시작하면서 공부하는 파이썬 소소한 팁

list comprehension

zip + reduce 사용하자( enumerate, zip, for loop 속도 측정)

%%timeit

import numpy as np

e1 = np.array([1, 0, 0])
e2 = np.array([0, 1, 0])
e3 = np.array([0, 0, 1])

a1 = 3
a2 = 1
a3 = 4

import functools
functools.reduce(lambda a, b : a + b, [component * vectors[i] for i, component in enumerate(components)])

3.94 µs ± 905 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%%timeit

a = np.zeros(3)
for i in range(len(components)):
    a += components[i] * vectors[i]

6.82 µs ± 185 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%%timeit

import functools
functools.reduce(lambda a, b : a + b, [c * v for c, v in zip(components, vectors)])

3.62 µs ± 185 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

profile
개발자

0개의 댓글