본문 바로가기

Performance14

Python 파이썬 리스트 vs 배열 - 언제 사용해야 할까요?, Python list vs. array – when to use? 질문 만약 1차원 배열을 생성한다면, 리스트로 구현하거나 표준 라이브러리의 'array' 모듈을 사용할 수 있습니다. 저는 항상 1차원 배열에는 리스트를 사용해왔습니다. 어떤 이유나 상황에서 'array' 모듈을 사용하고 싶을까요? 성능 및 메모리 최적화를 위해서인가요, 아니면 놓친 무언가가 있는 건가요? 답변 기본적으로, Python 리스트는 매우 유연하며 완전히 이질적이고 임의의 데이터를 보유할 수 있으며, 암어화된 상수 시간에 매우 효율적으로 추가 할 수 있습니다. 리스트의 크기를 효율적으로 축소하고 확장해야하며 번거롭지 않게하려면 리스트를 사용해야합니다. 그러나 각 항목은 간단한 C 유형 (예 : float 또는 uint64_t)로 표현 될 수있는 데이터에도 개별 Python 객체의 생성을 필요로.. 2023. 11. 28.
Python 파이썬에서 문자열에서 영숫자 문자만 남기고 모두 제거하기, Stripping everything but alphanumeric chars from a string in Python 질문 파이썬을 사용하여 문자열에서 모든 영숫자가 아닌 문자를 제거하는 가장 좋은 방법은 무엇인가요? 이 질문의 PHP 버전에서 제시된 해결책들은 약간의 조정을 거치면 작동할 것 같지만, '파이썬 다운' 느낌이 들지 않습니다. 기록을 위해, 저는 마침표와 쉼표(및 기타 구두점)뿐만 아니라 따옴표, 괄호 등도 제거하려고 합니다. 답변 저는 그냥 호기심으로 몇 가지 함수를 시간 측정해 보았습니다. 이 테스트에서는 내장된 string 모듈의 string.printable에서 비알파벳 및 숫자가 아닌 문자를 제거합니다. '[\W_]+'와 pattern.sub('', str)의 사용이 가장 빠르다는 것을 알게 되었습니다. $ python -m timeit -s \ "import string" \ "''.join(c.. 2023. 11. 16.
Python timeit 모듈을 사용하는 방법은 다음과 같습니다., How to use timeit module 질문 내가 "insertion_sort"와 "tim_sort"와 같은 내 자신의 함수들의 성능을 비교하기 위해 timeit을 어떻게 사용하나요? 답변 만약 대화식 Python 세션에서 timeit을 사용하고 싶다면, 두 가지 편리한 옵션이 있습니다: IPython 셸을 사용하세요. 이는 편리한 %timeit 특수 함수를 제공합니다: In [1]: def f(x): ...: return x*x ...: In [2]: %timeit for x in range(100): f(x) 100000 loops, best of 3: 20.3 us per loop 표준 Python 인터프리터에서는, 대화식 세션 동안 이전에 정의한 함수와 다른 이름들에 접근하기 위해 설정 구문에서 __main__으로부터 import 할 .. 2023. 11. 11.
Python 간단한 파이썬 루프를 병렬화하는 방법은 무엇인가요?, How do I parallelize a simple Python loop? 질문 이것은 아마도 사소한 질문일 것입니다만, 파이썬에서 아래 루프를 병렬화하는 방법은 무엇인가요? # 출력 리스트 설정 output1 = list() output2 = list() output3 = list() for j in range(0, 10): # 개별 매개변수 값 계산 parameter = j * offset # 계산 호출 out1, out2, out3 = calc_stuff(parameter = parameter) # 결과를 올바른 출력 리스트에 넣기 output1.append(out1) output2.append(out2) output3.append(out3) 파이썬에서 단일 스레드를 시작하는 방법은 알고 있지만 결과를 "수집"하는 방법을 모르겠습니다. 여러 개의 프로세스도 괜찮습니다 - .. 2023. 10. 27.