본문 바로가기

분류 전체보기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.