오지's blog

11 Tips And Tricks To Write Better Python Code(작성중) 본문

개발노트/Python

11 Tips And Tricks To Write Better Python Code(작성중)

오지구영ojjy90 2022. 4. 25. 12:49
728x90
반응형

11 Tips And Tricks To Write Better Python Code
https://www.youtube.com/watch?v=8OKTAedgFYg

1. range(len(x))보다 enumerate(x)를 사용하자

2. for loop보다 list comprehension을 사용하자.

import time
sq = []

start = time.time()
for i in range(0, 100000000):
    sq.append(i*i)
end = time.time()
print(end - start)

start = time.time()
sq = [i*i for i in range(0, 100000000)]
end = time.time()
print(end - start)



3. 복잡한 리스트를 반복할때 sorted()함수를 사용하자 즉, 먼저 sort하고 iterate하자

data  =[{"name":"kelly", "age":15}, {"name":"esther", "age":5}, {"name":"John", "age":43}]
sorted_data = sorted(data, key=lambda x:x["age"], reverse=True)
print(sorted_data)

 

4. unique한 값들은 set에 저장하자.

5.  generator를 사용하여 메모리의 낭비를 줄이자. - generator 목적 자체도 메모리를 효율적으로 사용하기 위함

import sys

my_list = [i for i in range(0, 1000)]
print(type(my_list))
print(sum(my_list))
print(sys.getsizeof((my_list)), "bytes")
#  오잉 set타입인줄 착각 거의 메모리가 거의 80배이상 차이남?
my_gen = (i for i in range(0, 1000))
print(type(my_gen))
print(sum(my_gen))
print(sys.getsizeof((my_gen)), "bytes")



6. dict형의 default값을 get 함수나 setdefault함수를 이용하여 정의하자.

Comments