본문 바로가기
반응형

개발 Tools/파이썬_개념15

파이썬 시간 복잡도 (Big-o, 빅오) 코드 동작 실행 시간을 체크하는 데 사용한다. 가장 기본적인 생각은 코드가 실행된 순간부터 끝나는 순간을 체크하면 된다. 파이썬은 time이라는 라이브러리를 사용하면 쉽게 볼 수 있다. import time start = time.time() # 실행될 때 찍힌 시간 for i in range(10000000): pass end = time.time() # 실행될 때 찍힌 시간 print(f"{end - start}") # 정수부는 초단위, 소수부는 마이크로 초단위 출력 0.47263002395629883 time.time은 이 코드가 실행될 때 시작하는 시간이다. 그러니 시작과 끝에 이 코드를 적으면 얼마나 동작했는지 알 수 있다. 하지만 이런 코드에는 문제가 있다. 왜냐면 객관적인 시간이 아니기 때문.. 2021. 10. 17.
파이썬 any, all any = 조건이 하나라도 맞으면 참 all = 조건이 모두 같아야 참 l1 = [1, 2, 3, 4] put = 3 if any(put == i for i in l1): # 하나라도 참이면 참을 반환 print(f"{put} exists in l1") else: print(f"No exists") l2 = [2, 2, 2, 2] put = 2 if all(put == i for i in l2): # 모두 참이여야 참을 반환 print(f"{put} is the only element in l2") else: print(f"{put} No exists") 출력 exists in l1 is the only element in l2 2021. 10. 17.
파이썬 삼항 연산자, 맴버 연산자, 식별 연산자 (in, not in , is, is not) 삼항 연산자 var1 if 조건 else var2 조건이 참이라면 var1이고 거짓이라면 var2가 실행되는 삼항 연산자가 있다. 예를 들어보면 var1 = 8 var2 = 3 print(var1 if var1 < var2 else var2) 출력 3 맴버 연산자 맴버 연산자는 in과 not in 이 있다. 우리가 for in에서 썼던 것과 같다. 예를 들어보겠다. list1 = [1, 2, 3, 4, 5] var1 = "in" var2 = "not in" print(var1 if 3 in list1 else var2) 출력 "in" 3이 list 1에 있기 때문에 var1이 출력된다. 식별 연산자 식별 연산자는 말 그대로 확인하는 것이다. is와 is not이 있다. 같이 같으면 True, 다르다면 F.. 2021. 10. 17.
파이썬 집합(set) (삭제, 수정, 추가, 함축, 연산) 집합은 순서가 없고 unique 한 값을 갖는다. 선언 set1 = {1, 2, 3, 4} set2 = set() set3 = {1, 2, 3, 3, 3, 4} print(set3) 출력 {1, 2, 3, 4} set3처럼 여러 값이 중복해 들어가 있다면 알아서 제거해준다. 항목 추가 set1 = {1, 2, 3} set1.add(4) print(set1) set1.update([5, 6, 7]) print(set1) 출력 {1, 2, 3, 4} {1, 2, 3, 4, 5, 6, 7} 항목 제거 set1 = {1, 2, 3, 4} set1.remove(3) print(set1) set1.discard(1) print(set1) 출력 {1, 2, 4} {2, 4} 똑같지 않냐고 물을 수 있지만 만약 없는 .. 2021. 9. 17.
파이썬 딕셔너리(dictionary)(수정, 함축, 삭제, 삽입, 변환) 딕셔너리는 key와 value로 맵핑되어 있는 순서가 없는 집합이다. hash function을 사용하여 value값에 쉽게 접근 가능하다. 값에 접근 d1 = {"a" : 1 , "b" : 2, "c" : 3} print(d1["a"]) print(d1["b"]) print(d1["c"]) 출력 1 2 3 이런 식으로 []를 이용하여 value값에 접근 가능하다 중복 key d1 = {"a" : 1, "b" : 2, "c" : 3, "a" : 4, "b" : 5} print(d1) 출력 {"a" : 4, "b" : 5, "c" : 3} 이처럼 key값이 같다면 제일 마지막에 있는 값을 가져온다. dict 변환 변환은 리스트나, 튜플로 변환 가능하다. 대신 짝이 있어야 한다. l1 = [["a", 1],.. 2021. 9. 17.