[Python] 튜플을 큐(덱)에 넣을 때 할 수 있는 실수 - 원소가 한 개인 튜플.
https://www.acmicpc.net/problem/7562 해당 문제를 풀던 중, 다음과 같이 코드를 짜고 있었다. 일반적으로 덱에 튜플을 정의할 때 많이 쓰는 코드 뭉치이다.queue = deque([(sx, sy, 0)])근데, 의문점이 생겼다. 저거 튜플 하나가 메모리에 잡히고, 그 튜플을 감싸는 리스트가 메모리에 잡히게 된 다음에, 그걸 deque에 일종의 append를 하는 과정이 압축되어 있는 건데, 리스트보단 튜플이 아주 미미하지만 오버헤드 때문에 메모리 사용량이 더 크므로(더블링을 위한 정보 등을 저장해야 하니까),그냥 튜플로 튜플을 감싸서 deque에 넣으면 안 될까? 즉, 아래처럼 말이다.queue = deque(((sx, sy, 0)))근데... 이렇게 하면, `sx`, `s..
[Python] 제네레이터 표현식에서 괄호가 생략 가능한 공식 근거.
안녕하세요? 커피러브입니다. 파이썬의 `제네레이터 표현식(generator expression)`을 사용하다 보면, 다음과 같이 사용하는 경우가 많습니다.a = {1, 2, 3}my_list = list(i for i in a)print(my_list) # [1, 2, 3]그런데... 뭔가 이상하지 않나요? `list(), set()와 같은 형 변환 함수(Type conversion function)`들은 인자로 `이터러블(iterable)`을 받아야 하지 않았던가요? 예를 들어, 아래와 같이 말이죠.b = {1, 2, 3}my_list1 = list(b)my_list2 = list({1, 2, 3})my_list3 = list((1, 2, 3))print(my_list1) # [1, 2, 3]print..