본문 바로가기

Python/Python FAQ540

Python 전치 / 압축 해제 기능 (zip의 역함수)?, Transpose/Unzip Function (inverse of zip)? 질문 나는 2개의 항목을 가진 튜플 목록이 있으며, 이를 첫 번째 항목을 포함하는 첫 번째 목록과 두 번째 항목을 포함하는 두 번째 목록으로 변환하고 싶습니다. 예를 들어: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] # 그리고 나는 다음과 같이 되기를 원합니다... result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4]) 이를 수행하는 내장 함수가 있을까요? 답변 2.x에서는 zip이 자체적으로 역함수입니다! 특별한 * 연산자를 사용하면 됩니다. >>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4)]) [('a', 'b', 'c', 'd'), (1, 2, 3, 4)] 이는 리스트의 각 요소를 별도.. 2023. 9. 12.
Python 파이썬에서 어떻게 명시적으로 메모리를 해제할 수 있을까요?, How can I explicitly free memory in Python? 질문 나는 큰 입력 파일에 작용하는 파이썬 프로그램을 작성했습니다. 이 프로그램은 수백만 개의 삼각형을 나타내는 객체를 생성합니다. 알고리즘은 다음과 같습니다: 입력 파일을 읽습니다 파일을 처리하고 삼각형의 리스트를 생성합니다. 이 삼각형은 정점으로 표현됩니다 OFF 형식으로 정점의 리스트 다음에 삼각형의 리스트를 출력합니다. 삼각형은 정점의 리스트 내의 인덱스로 나타냅니다 OFF의 요구사항으로 인해 삼각형의 리스트를 파일로 출력하기 전에 정점의 완전한 리스트를 출력해야 합니다. 그러나 리스트의 크기 때문에 메모리 오류가 발생합니다. 어떻게 하면 Python에게 일부 데이터가 더 이상 필요하지 않으며, 해제될 수 있다고 알릴 수 있을까요? 답변 Python 공식 문서에 따르면, Garbage Collec.. 2023. 9. 12.
Python 멀티라인 문자열의 적절한 들여쓰기는 어떻게 해야 하나요?, Proper indentation for multiline strings? 질문 파이썬 함수 내에서 멀티라인 문자열의 적절한 들여쓰기는 무엇인가요? def method(): string = """line one line two line three""" 또는 def method(): string = """line one line two line three""" 또는 다른 방법이 있나요? 첫 번째 예시에서 함수 밖에 문자열이 따로 놓여 있는 것이 좀 이상해 보입니다. 답변 아마도 """과 일치하도록 정렬하고 싶을 것입니다. def foo(): string = """line one line two line three""" 새 줄과 공백이 문자열 자체에 포함되어 있으므로 후처리해야합니다. 후처리를 원하지 않고 많은 양의 텍스트를 가지고 있다면 텍스트 파일에 별도로 저장하는 것이 좋습니.. 2023. 9. 12.
Python 출력에서 파이썬 버전을 인쇄하기, Printing Python version in output 질문 내 스크립트에서 현재 Python 설치의 버전 번호를 출력하는 방법은 무엇인가요? 답변 시도해보세요 import sys print(sys.version) 이 코드는 전체 버전 정보 문자열을 출력합니다. 파이썬 버전 번호만 필요한 경우에는 Bastien Léonard의 해결책이 가장 좋습니다. 전체 문자열을 검사하여 필요한 부분만 사용할 수도 있습니다. 2023. 9. 12.