본문 바로가기

Computer Science/Python5

Python 딕셔너리 정렬 (Key, Value 기준 sort) 예제 mydict = {'d': 50, 'a': 20, 'b': 30, 'e': 10, 'c': 30} 1. Key를 기준으로 정렬 (오름차순) mydict_sorted = sorted(mydict.items()) print(mydict_sorted) [('a', 20), ('b', 30), ('c', 30), ('d', 50), ('e', 10)] 2. Key를 기준으로 정렬 (내림차순) mydict_sorted = sorted(mydict.items(), key=lambda x:x[0], reverse=True) print(mydict_sorted) [('e', 10), ('d', 50), ('c', 30), ('b', 30), ('a', 20)] 3. Value를 기준으로 정렬 (오름차순) mydi.. 2022. 4. 9.
[Python] list 복사 ([:], copy(), deepcopy()) 파이썬 ps를 하면서 많이 하기 쉬운 실수들에 대해 적는다. 다음 두 코드의 결과는 어떻게 될까? 하나는 맞고 하나는 이상한 결과를 배출한다. 1) class Solution(object): def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ results = [] def dfs(nums, k, pos, subsets=[]): if k == 0: results.append(subsets) return for i in range(pos, len(nums)): subsets.append(nums[i]) dfs(nums, k - 1, i + 1, subsets) subsets.pop() for i in range(len(.. 2021. 2. 11.
python list append() vs extend() 차이 *python list append() vs extend() 차이 python list에 새로운 원소를 추가하는 방법은 append(x)와 extend(iterable)이 있다. 각각의 차이에 대해 묻는 질문을 본 적이 있어 정리한다. - list.append(x) : 리스트 끝에 x 1개를 '그대로' 넣는다 - list.extend(iterable) : 리스트 끝에 '가장 바깥쪽 iterable'의 모든 항목을 넣는다 가령 [a, b, c]에 [d, e]를 추가한다고 할 때, append를 쓰면 [a, b, c, [d, e]] 이런 식으로 들어간다. 그런데 [a, b, c, d, e]로 넣고 싶다... 그러면 extend를 쓰면 된다! 이렇게 [ ]를 벗기고 넣어야 할 때 쓰는 게 extend다. 생각.. 2021. 1. 31.
[Python] is 와 == 의 차이 *is / == 차이 == is for value equality. Use it when you would like to know if two objects have the same value. is is for reference equality. Use it when you would like to know if two references refer to the same object. 즉, is는 변수가 같은 Object(객체)를 가리키면 True ==는 변수가 같은 Value(값)을 가지면 True *is의 예시 - a와 b는 같은 리스트 객체를 가리킨다 - a와 b는 같은 객체이기 때문에 True - a와 c는 값은 같지만 다른 객체이기 때문에 False # 리스트 선언 a = [1, 2, 3] b.. 2021. 1. 26.
[파이썬] 클래스 변수 vs 인스턴스 변수 차이 *파이썬 클래스 변수 vs 인스턴스 변수 차이 면접에서 받은 질문이어서 정리해둔다. 다음과 같은 차이가 있다. 클래스 변수 인스턴스 변수 무엇인가? 클래스 내부에 선언된 변수 self가 붙어 있는 변수. 클래스의 인스턴스가 생성될 때 생성 변수의 존재 위치 class의 namespace에 위치 instance의 namespace의 위치 언제 사용? 인스턴스 간에 서로 공유해야 하는 값. 클래스 변수는 모든 인스턴스에 공유된다. (e.g. 현재 은행에 총 개설된 계좌의 개수) 인스턴스 간 고유한 값. 다른 인스턴스에 공유되면 안 되는 값. (e.g. 이름) class Account: num_accounts = 0 def __init__(self, name): self.name = name Account.n.. 2021. 1. 12.
728x90