개발 223

[파이썬] len함수 코스트(비용)

비용은 얼마입니까len()Python 내장 함수? (목록/튜플/문자열/사전) 그것은오(1)(요소의 실제 길이에 의존하지 않는 일정한 시간 - 매우 빠름) 언급한 모든 유형에 대해set및 기타array.array. 부름len()해당 데이터 유형에 대한오(1)안에CPython, Python 언어의 공식적이고 가장 일반적인 구현입니다. 다음은 CPython에서 다양한 함수의 알고리즘 복잡성을 제공하는 표에 대한 링크입니다. TimeComplexity Python Wiki Page 이러한 모든 개체는 자체 길이를 추적합니다. 길이를 추출하는 시간은 짧고(big-O 표기법의 O(1)) 대부분 [대략적인 설명, C 용어가 아닌 Python 용어로 작성됨]: 사전에서 "len"을 찾아 다음으로 디스패치합니다. 객체를..

개발/Python 2023.01.22

[파이썬] NumPy 배열을 파이썬 리스트로 변환

어떻게 변환합니까?NumPy배열을 Python 목록으로? 사용tolist(): >>> import numpy as np >>> np.array([[1,2,3],[4,5,6]]).tolist() [[1, 2, 3], [4, 5, 6]] 이것은 값이 가질 수 있는 numpy 유형(예: np.int32 또는 np.float32)에서 "가장 가까운 호환 가능한 Python 유형"(목록에서)으로 값을 변환합니다. numpy 데이터 유형을 유지하려면 대신 배열에서 list()를 호출하면 됩니다.numpy scalars. (의견에서 지적해 주신 Mr_and_Mrs_D에게 감사드립니다.) numpy .tolist 메서드는 numpy 배열 모양이 2D인 경우 중첩 목록을 생성합니다. 플랫 목록이 필요한 경우 아래 방법이..

개발/Python 2023.01.22

[파이썬] 딕셔너리를 문자열로 변환하고 다시 변환하는 방법

저는 사전 객체에 데이터를 저장하는 프로그램을 작성하고 있지만 이 데이터는 프로그램 실행 중 어느 시점에 저장되고 프로그램이 다시 실행될 때 사전 객체로 다시 로드되어야 합니다. 사전 객체를 파일에 기록하고 사전 객체로 다시 로드할 수 있는 문자열로 어떻게 변환합니까? 이것은 사전을 포함하는 사전을 지원하기를 바랍니다. The json module여기에 좋은 해결책이 있습니다. 일반 텍스트 출력만 생성하고 크로스 플랫폼 및 크로스 버전이라는 피클에 비해 장점이 있습니다. import json json.dumps(dict) 사전이 너무 크지 않으면 str + eval이 작업을 수행할 수 있습니다. dict1 = {'one':1, 'two':2, 'three': {'three.1': 3.1, 'three.2..

개발/Python 2023.01.22

[파이썬] x축 또는 y축을 반전시키는 방법

임의의 x, y 좌표가 있는 산점도 그래프가 있습니다. 현재 Y축은 0에서 시작하여 최대값까지 올라갑니다. Y축이 최대값에서 시작하여 0까지 올라가길 원합니다. points = [(10,5), (5,11), (24,13), (7,8)] x_arr = [] y_arr = [] for x,y in points: x_arr.append(x) y_arr.append(y) plt.scatter(x_arr,y_arr) 이를 더욱 간단하게 만드는 새로운 API가 있습니다. plt.gca().invert_xaxis() 및/또는 plt.gca().invert_yaxis() DisplacedAussie의 대답은 정확하지만 일반적으로 더 짧은 방법은 문제의 단일 축을 뒤집는 것입니다. plt.scatter(x_arr, y_..

개발/Python 2023.01.22

[파이썬] 리스트에서 교차점을 찾는 방법?

a = [1,2,3,4,5] b = [1,3,5,6] c = a and b print c 실제 출력:[1,3,5,6]예상 출력:[1,3,5] 두 목록에서 부울 AND 연산(목록 교차)을 어떻게 달성할 수 있습니까? 순서가 중요하지 않고 중복에 대해 걱정할 필요가 없는 경우 교차 설정을 사용할 수 있습니다. >>> a = [1,2,3,4,5] >>> b = [1,3,5,6] >>> list(set(a) & set(b)) [1, 3, 5] list comprehension을 사용하는 것은 저에게 매우 분명한 것입니다. 성능에 대해서는 확실하지 않지만 최소한 목록에 남아 있습니다. [x for x in a if x in b] 또는 "X 값이 B에 있는 경우 A에 있는 모든 x 값". 두 목록 중 더 큰 것을 ..

개발/Python 2023.01.22

[파이썬] os.path.join()이 작동하지 않는 이유?

아래 코드는 조인하지 않습니다. 디버그할 때 명령은 전체 경로를 저장하지 않고 마지막 항목만 저장합니다. os.path.join('/home/build/test/sandboxes/', todaystr, '/new_sandbox/') 이것을 테스트하면/new_sandbox/코드의 일부입니다. 후자의 문자열은 슬래시로 시작하면 안 됩니다. 슬래시로 시작하면 "절대 경로"로 간주되며 그 앞의 모든 항목은 삭제됩니다. 인용Python docs for os.path.join: 구성 요소가 절대 경로인 경우 이전 구성 요소는 모두 버리고 절대 경로 구성 요소에서 결합이 계속됩니다. Windows에서 이전 Python 버전과 비교하여 변경된 것으로 보이는 드라이브 문자와 관련된 동작을 참고하십시오. Windows에서..

개발/Python 2023.01.22

[파이썬] 딕셔너리에서 keys()와 values()는 항상 순서가 같을까?

다음에 의해 반환된 목록처럼 보입니다.keys()그리고values()사전의 메서드는 항상 1:1 매핑입니다(2개의 메서드를 호출하는 사이에 사전이 변경되지 않는다고 가정). 예를 들어: >>> d = {'one':1, 'two': 2, 'three': 3} >>> k, v = d.keys(), d.values() >>> for i in range(len(k)): print d[k[i]] == v[i] True True True 호출 사이에 사전을 변경하지 않으면keys()그리고 전화values(), 위의 for-loop가 항상 True를 출력한다고 가정하는 것이 잘못된 것입니까? 이를 확인하는 문서를 찾을 수 없습니다. 이것을 찾았습니다: items(), keys(), values(), iteritems..

개발/Python 2023.01.22

[파이썬] 파일을 읽으면 파일 핸들이 계속 열려 있어야 할까?

전체 파일을 읽으면content = open('Path/to/file', 'r').read()스크립트가 종료될 때까지 파일 핸들이 열려 있습니까? 전체 파일을 읽는 더 간결한 방법이 있습니까? 그 질문에 대한 답은 특정 Python 구현에 따라 다소 다릅니다. 이것이 무엇인지 이해하려면 실제 상황에 특히 주의를 기울이십시오.file물체. 코드에서 해당 개체는 식에서 한 번만 언급되며 다음 직후에 액세스할 수 없게 됩니다.read()전화가 돌아옵니다. 이것은 파일 객체가 가비지임을 의미합니다. 남은 유일한 질문은 "가비지 수집기가 언제 파일 개체를 수집합니까?"입니다. 참조 카운터를 사용하는 CPython에서는 이러한 종류의 쓰레기가 즉시 발견되므로 즉시 수집됩니다. 이것은 일반적으로 다른 파이썬 구현에는..

개발/Python 2023.01.22
728x90