목록파이썬/기본 문법 (6)
유자차의 재테크 공부방
map함수를 통해서 두 변수를 동시에 가져올 수 있다. A = [1,2,3] B = [4,0,8] ans = 0 for i,j in zip(A,B): ans += i*j print(ans) # 28 = 4+0+24
파이썬 메모리 관리 방법 1 - 레퍼런스 카운팅 방법 2 - 세대별 가비지 컬렉션

tqdm의 tqdm.pandas를 사용하면 progress_apply통해 dataframe에 apply가 얼마나 진행되었는지 볼 수 있다. df가 좌측과 같다고 할 때 일반적으로 apply를 사용할 때, df = df.apply(func, axis=1) print(df) progress_apply를 통해 진행률을 볼 때 from tqdm import tqdm tqdm.pandas() df = df.progress_apply(func, axis=1) # df.progress_apply(적용할 것, 적용방향) print(df)
이중 정렬이라고 표현을 했는데 2가지 항목으로 정렬을 하는 방법과 2가지 항목을 다른 정렬 방법으로 정렬하는 방법을 알려 드리겠습니다. 데이터 요소 기준으로 정렬 => 요소1 기준으로 오름차순 후 동일한 것이 있다면 요소2 기준으로 오름차순 sorted(정렬할 리스트, key=lambda x : (정렬할 요소1, 정렬할 요소2)) data = [(1,"d"), (2,"c"), (3,"b"), (1,"a"), (3,"d"), (1,"f")] res = sorted(data, key=lambda x : (data[0], data[1])) # 출력결과 : [(1,"a"), (1,"d"), (1,"f"), (2,"c"), (3,"b"), (3,"d")] 정렬이 서로 다르게 정렬이 해야할 때 => 요소 1 기준으..
숫자를 올림하기 위해서 math라이브러리를 사용하였습니다. 프로그래머스에서 코테 연습하던 중 다른 사람의 풀이를 보고 math를 사용하지 않고 올림을 사용할 수 있는 방법을 발견하였습니다. 음수를 사용하는 것이였습니다. 라이브러리를 부르지 않고 이렇게 사용할 수 있다니 좋은 아이디어인 것 같습니다. # 일이 10이고 하루에 3만큼 일한다고 했을 때, 며칠 뒤에 일을 끝나는가? total = 10 speed = 3 ####################### 기존 ###################### import math math.ceil(total/speed) # 4 ####################### 음수 사용 ###################### -(-total//speed) # 4
정렬을 할때, 여러가지 기준으로 정렬을 해야할 때가 있습니다. lambda를 사용하면, 한 번에 여러가지 기준으로 정렬을 할 수있습니다. sort(key= lambda x: ([첫번째 기준], [두번째 기준])) # 문자 순 정렬, 문자 동일한 경우 앞의 번호 순으로 정렬 s = ["2 A", "1 B", "4 C", "1 A"] s.sort(key= lambda x: (x.split()[1], x.split()[0])) # ['1 A', '2 A', '1 B', '4 C'] # 숫자 순 정렬, 숫자 동일한 경우 앞의 문자 순으로 정렬 s = ["2 A", "1 B", "4 C", "1 A"] s.sort(key= lambda x: (x.split()[0], x.split()[1])) #['1 A', '..