본문 바로가기
DEVLOG/개발일기

파이썬(Python) Tips and Tricks

2019. 9. 6.
반응형

1. 실행시간 측정하기

import time

startTime = time.time()

# 코드 작성

endTime = time.time()
totalTime = endTime - startTime

print("Total time required to execute code is= ", totalTime)

 

2. 두 개의 리스트의 차이 구하기

list1 = ['Scott', 'Eric', 'Kelly', 'Emma', 'Smith']
list2 = ['Scott', 'Eric', 'Kelly']

set1 = set(list1)
set2 = set(list2)

list3 = list(set1.symmetric_difference(set2))
print(list3) # ['Emma', 'Smith']

 

3. 객체에 의해 사용되는 메모리 계산하기

import sys

list1 = ['Scott', 'Eric', 'Kelly', 'Emma', 'Smith']
print("size of list = ", sys.getsizeof(list1)) # ('size of list = ', 112)

name = 'pynative.com'
print("size of name = ", sys.getsizeof(name)) # ('size of name = ', 49)

 

4. 리스트에서 중복되는 원소 제거하기

listNumbers = [20, 22, 24, 26, 28, 28, 20, 30, 24]
print("Original = ", listNumbers) # 'Original = ', [20, 22, 24, 26, 28, 28, 20, 30, 24]

listNumbers = list(set(listNumbers))
print("After removing duplicate = ", listNumbers) # 'After removing duplicate = ', [20, 22, 24, 26, 28, 30]

 

5. 리스트의 모든 원소가 동일한지 판별하기

listOne = [20, 20, 20, 20]
# 모든 원소가 같음
print(listOne.count(listOne[0]) == len(listOne)) # True

listTwo = [20, 20, 20, 50]
# 모든 원소가 같지 않음
print(listTwo.count(listTwo[0]) == len(listTwo)) # False

 

6. 정렬되지 않은 두 리스트를 효율적으로 비교하는 법

from collections import Counter

one = [33, 22, 11, 44, 55]
two = [22, 11, 44, 55, 33]

print(Counter(one) == Counter(two)) # True

 

7. 리스트의 모든 원소가 unique한지 체크하는 법

def isUnique(item):
    tempSet = set()
    return not any(i in tempSet or tempSet.add(i) for i in item)

listOne = [123, 345, 456, 23, 567]
print("All List elements are Unique ", isUnique(listOne)) # All List elements are Unique True

listTwo = [123, 345, 567, 23, 567]
print("All List elements are Unique ", isUnique(listTwo)) # All List elements are Unique False

 

8. Byte to String 변환

byteVar = b"pynative"
str = str(byteVar.decode("utf-8"))
print("Byte to string is", str) # Byte to string is pynative

 

9. enumerate 사용하기

listOne = [123, 345, 456, 23]
for index, element in enumerate(listOne):
    print("Index [", index, "]", "Value", element)
# Index [0] Value 123
# Index [1] Value 345
# Index [2] Value 456
# Index [3] Value 23

 

10. 두 개의 딕셔너리를 하나로 합쳐서 표현하기

currentEmployee = {1: 'Scott', 2: 'Eric', 3: 'Kelly'}
formerEmployee = {2: 'Eric', 4: 'Emma'}

allEmployee = {**currentEmployee, **formerEmployee}
print(allEmployee)

 

11. 두 개의 리스트를 한 개의 딕셔너리로 변환하기

ItemId = [54, 65, 76]
names = ["Hard Disk", "Laptop", "RAM"]

itemDictionary = dict(zip(ItemId, names))

print(itemDictionary) # {54: "Hard Disk", 65: "Laptop", 76: "RAM"}

 

12. 소수점 두 번째 자리까지 출력하기

number = 88.2345
print('{0:.2f}'.format(number)) # 88.23

 

13. 함수로부터 여러 값 리턴하기

def multiplication_Division(num1, num2):
    return num1*num2, num2/num1

product, division = multiplication_Division(10, 20)
print("Product", product, "Division", division)

 

반응형

댓글