본문 바로가기

Python/Python FAQ540

Python 키가 존재하는 경우에는 사전 항목을 삭제합니다 [중복], Delete a dictionary item if the key exists [duplicate] 질문 딕셔너리에서 주어진 키가 존재하는 경우에만 항목을 삭제하는 다른 방법이 있을까요? if key in mydict: del mydict[key] 상황은 주어진 딕셔너리에서 제거해야 할 키의 모음을 받았지만, 모두 딕셔너리에 존재하는지 확실하지 않습니다. 더 효율적인 해결책을 놓치지 않기 위해요. 답변 다음은 dict.pop을 사용할 수 있습니다: mydict.pop("key", None) 두 번째 인자인 None이 주어지지 않으면, 딕셔너리에 키가 없는 경우 KeyError가 발생합니다. 두 번째 인자를 제공하면 조건부 예외를 방지할 수 있습니다. 2023. 12. 4.
Python 제너레이터나 리스트에서 처음 N개의 항목을 가져오는 방법은 무엇인가요? [중복됨], How to take the first N items from a generator or list? [duplicate] 질문 linq을 사용하면 var top5 = array.Take(5); 파이썬으로 이것을 어떻게 할 수 있을까요? 답변 리스트 슬라이싱 top5 = array[:5] 리스트를 슬라이싱하기 위해 간단한 구문이 있습니다: array[start:stop:step] 어떤 매개변수도 생략할 수 있습니다. 다음은 모두 유효합니다: array[start:], array[:stop], array[::step] 제너레이터 슬라이싱 import itertools top5 = itertools.islice(my_list, 5) # 첫 다섯 개의 요소 가져오기 파이썬에서는 직접적으로 제너레이터를 슬라이싱할 수 없습니다. itertools.islice()는 객체를 새로운 슬라이싱 제너레이터로 감싸주며 다음과 같은 구문을 사용합.. 2023. 12. 4.
Python 파이썬 프로세스에서 사용되는 총 메모리는 얼마인가요?, Total memory used by Python process? 질문 파이썬 프로그램이 현재 사용 중인 메모리 용량을 확인하는 방법이 있을까요? 메모리 사용에 대한 단일 객체에 대한 토론은 보았지만, 필요한 것은 프로세스의 총 메모리 사용량입니다. 이를 통해 캐시된 데이터를 버릴 필요가 있는지를 판단할 수 있습니다. 답변 여기는 리눅스, 윈도우 등 다양한 운영 체제에서 작동하는 유용한 솔루션입니다: import os, psutil process = psutil.Process() print(process.memory_info().rss) # 바이트 단위로 출력 참고 사항: 아직 설치되어 있지 않은 경우 pip install psutil을 실행하십시오. 프로세스가 얼마나 많은 MiB를 사용하는지 빠르게 알고 싶은 경우 유용한 한 줄 코드입니다: import os, psu.. 2023. 12. 4.
Python NumPy 배열에 추가 열을 어떻게 추가하나요?, How do I add an extra column to a NumPy array? 질문 다음과 같은 2D 배열이 주어졌습니다: a = np.array([ [1, 2, 3], [2, 3, 4], ]) 두 번째 축에 0으로 이루어진 열을 추가하고 싶습니다: b = np.array([ [1, 2, 3, 0], [2, 3, 4, 0], ]) 답변 np.r_[...] (문서)와 np.c_[...] (문서)는 np.vstack와 np.hstack에 대한 유용한 대안입니다. 주의할 점은 괄호 () 대신에 대괄호 []를 사용한다는 것입니다. 일부 예제: : import numpy as np : N = 3 : A = np.eye(N) : np.c_[ A, np.ones(N) ] # 열 추가 array([[ 1., 0., 0., 1.], [ 0., 1., 0., 1.], [ 0., 0., 1., 1.].. 2023. 12. 4.