본문 바로가기

전체 글980

Python 파이썬에서 두 변수를 교환하는 표준화된 방법이 있습니까?, Is there a standardized method to swap two variables in Python? 질문 파이썬에서는 다음 구문을 사용하여 두 변수의 값이 서로 바뀌는 것을 본 적이 있습니다: left, right = right, left 이것이 두 변수의 값을 바꾸는 표준적인 방법인지, 아니면 관례적으로 가장 일반적으로 두 변수가 교환되는 다른 방법이 있는지 궁금합니다. 답변 파이썬은 표현식을 왼쪽에서 오른쪽으로 평가합니다. 할당을 평가할 때 오른쪽 표현식이 왼쪽 표현식보다 먼저 평가됩니다. 파이썬 문서: 평가 순서 즉, 표현식 a,b = b,a 에 대해 다음과 같습니다: 오른쪽 표현식 b,a 가 평가되어, 즉 메모리에 두 요소를 가진 튜플이 생성됩니다. 두 요소는 프로그램 실행 중에 지정된 식별자 b와 a에 의해 지정된 객체입니다. 이 튜플 객체에 대한 할당이 아직 이루어지지 않았지만, 상관없습니다.. 2023. 12. 4.
Python NumPy에서 빈 배열을 생성한 다음에 어떻게 해당 배열에 추가할 수 있나요?, How do I create an empty array and then append to it in NumPy? 질문 나는 빈 배열을 만들고 항목을 하나씩 추가하고 싶습니다. xs = [] for item in data: xs.append(item) NumPy 배열에서 이 리스트 스타일 표기법을 사용할 수 있을까요? 답변 NumPy를 효율적으로 사용하기 위한 잘못된 메타 모델입니다. NumPy 배열은 연속적인 메모리 블록에 저장됩니다. 기존 배열에 행 또는 열을 추가하려면 전체 배열을 새로운 메모리 블록으로 복사해야 하며, 새로운 요소를 저장하기 위해 간격이 생깁니다. 이는 반복적으로 수행되면 매우 비효율적입니다. 행을 추가하는 대신에 적절한 크기의 배열을 할당하고, 행별로 할당하세요: >>> import numpy as np >>> a = np.zeros(shape=(3, 2)) >>> a array([[ 0.,.. 2023. 12. 4.
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.
Python 파이썬에서 표현식과 문장의 차이점은 무엇인가요?, What is the difference between an expression and a statement in Python? 질문 파이썬에서 표현식과 문장의 차이점은 무엇인가요? 답변 표현식은 식별자, 리터럴 및 연산자만 포함하며, 연산자에는 산술 및 부울 연산자, 함수 호출 연산자 (), 구독 연산자 [] 및 유사한 것이 포함됩니다. 이는 어떤 종류의 "값"으로 축소될 수 있으며, 이 값은 Python 객체일 수 있습니다. 예시: 3 + 5 map(lambda x: x*x, range(10)) [a.x for a in some_iterable] yield 7 문장 (참조: 1, 2))은 반면에 Python 코드의 한 줄 (또는 여러 줄)을 구성할 수 있는 모든 것입니다. 표현식도 문장입니다. 예시: # 위의 모든 표현식 print 42 if x: do_y() return a = 7 2023. 11. 28.
Python 파이썬 setup.py develop 대 install, Python setup.py develop vs install 질문 설정 파일인 setup.py에는 develop과 install 두 가지 옵션이 있습니다. 이 사이트에 따르면, develop을 사용하면 site-packages 디렉토리에 특별한 링크가 생성된다고 합니다. 일부 사람들은 새로운 설치에는 python setup.py install을 사용하고, 설정 파일에 변경이 있을 경우 python setup.py develop을 사용하라고 제안했습니다. 이 명령어들의 사용법에 대해 조금 더 알려주실 수 있는 분 있을까요? 답변 python setup.py install은 (일반적으로 타사) 패키지를 설치하는 데 사용됩니다. 이 패키지는 직접 개발/수정/디버그하지 않을 것입니다. 자신의 코드를 자주 편집해야 하는 경우, 먼저 패키지를 설치한 다음에도 패키지를 재설치.. 2023. 11. 28.