본문 바로가기

Python/Python FAQ540

Python matplotlib 그림에서 축 텍스트를 숨기기, Hiding axis text in matplotlib plots 질문 나는 무늬나 숫자가 없는 축(나는 matplotlib 용어가 아닌 전통적인 의미의 축을 사용한다!)으로 그림을 그리려고 한다. 내가 마주친 문제는 matplotlib이 x(y)ticklabels을 값 N을 빼고 축 끝에 N을 추가하는 것이다. 이것은 모호할 수 있지만, 다음과 같은 단순화된 예제는 문제를 강조하고 있으며, '6.18'은 N의 문제가되는 값이다: import matplotlib.pyplot as plt import random prefix = 6.18 rx = [prefix+(0.001*random.random()) for i in arange(100)] ry = [prefix+(0.001*random.random()) for i in arange(100)] plt.plot(rx,ry.. 2023. 10. 8.
Python 내 타입 힌트에서 함수 타입을 어떻게 지정할 수 있을까요?, How can I specify the function type in my type hints? 질문 변수의 타입 힌트를 함수 타입으로 지정하는 방법은 어떻게 되나요? typing.Function은 없고, 관련된 PEP인 PEP 483에도 그에 대한 내용을 찾을 수 없었습니다. 답변 As @jonrsharpe noted in a comment, this can be done with typing.Callable: from typing import Callable def my_function(func: Callable): Note: Callable on its own is equivalent to Callable[..., Any]. Such a Callable takes any number and type of arguments (...) and returns a value of any type (A.. 2023. 10. 8.
Python 중첩된 딕셔너리를 예쁘게 출력하는 방법은 무엇인가요?, How to pretty print nested dictionaries? 질문 파이썬에서 depth가 약 4인 딕셔너리를 어떻게 예쁘게 출력할 수 있을까요? pprint()를 사용하여 예쁘게 출력을 시도해보았지만 작동하지 않았습니다: import pprint pp = pprint.PrettyPrinter(indent=4) pp.pprint(mydict) 저는 각 중첩에 대해 들여쓰기 ("\t")를 원하며, 다음과 같은 결과를 얻고 싶습니다: key1 value1 value2 key2 value1 value2 어떻게 이를 할 수 있을까요? 답변 내 첫 번째 생각은 JSON 직렬화기가 중첩된 사전에 대해 아마도 꽤 잘 작동한다는 것이었으므로, 그걸 이용해서 속임수를 써볼까 생각했습니다: >>> import json >>> print(json.dumps({'a':2, 'b':{'x.. 2023. 10. 8.
Python 2 번째 항목 (정수 값)으로 튜플 목록을 정렬하십시오. [중복], Sort a list of tuples by 2nd item (integer value) [duplicate] 질문 나는 이런 식으로 구성된 튜플 목록을 가지고 있습니다: [('abc', 121),('abc', 231),('abc', 148), ('abc',221)] 나는 이 목록을 튜플 내부의 정수 값에 따라 오름차순으로 정렬하고 싶습니다. 가능한가요? 답변 기본적으로 오름차순으로 정렬하는 sorted()의 key 키워드 인수를 사용해보세요: sorted( [('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], key=lambda x: x[1] ) key는 데이터 구조에서 비교 가능한 요소를 어떻게 가져올지를 식별하는 함수여야 합니다. 여기서는 튜플의 두 번째 요소이므로 [1]을 사용합니다. 최적화를 위해 operator.itemgetter(1)을 사용한 jamy.. 2023. 10. 8.