본문 바로가기

Python/Python FAQ540

Python 주어진 플롯에 수직선을 그리는 방법, How to draw vertical lines on a given plot 질문 시간 표현으로 된 신호의 플롯이 주어졌을 때, 해당 시간 인덱스를 표시하는 선을 그릴 수 있는 방법이 있을까요? 구체적으로, 0부터 2.6(초)까지의 시간 인덱스를 가진 신호 플롯이 주어졌을 때, [0.22058956, 0.33088437, 2.20589566] 리스트에 대한 해당 시간 인덱스를 나타내는 수직 빨간색 선을 그리고 싶습니다. 어떻게 할 수 있을까요? 답변 플롯 창 전체를 덮을 세로 선을 추가하는 표준 방법은 plt.axvline을 사용하는 것입니다. import matplotlib.pyplot as plt plt.axvline(x=0.22058956) plt.axvline(x=0.33088437) plt.axvline(x=2.20589566) 또는 xcoords = [0.2205895.. 2023. 11. 2.
Python 두 개의 중첩된 리스트의 교차점을 찾으세요., Find intersection of two nested lists? 질문 나는 두 개의 평면 리스트의 교차점을 얻는 방법을 알고 있습니다: b1 = [1,2,3,4,5,9,11,15] b2 = [4,5,6,7,8] b3 = [val for val in b1 if val in b2] 또는 def intersect(a, b): return list(set(a) & set(b)) print intersect(b1, b2) 하지만 중첩된 리스트의 교차점을 찾을 때 문제가 시작됩니다: c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]] 최종적으로 다음을 받고 싶습니다: c3 = [[13,32],[7,13,28],[1,6]] 이 문.. 2023. 11. 2.
Python 키워드 매개변수로 사전을 함수에 전달하기, Passing a dictionary to a function as keyword parameters 질문 파라미터에 대응하는 키-값 쌍을 가진 사전을 사용하여 파이썬에서 함수를 호출하고 싶습니다. 다음은 일부 코드입니다: d = dict(param='test') def f(param): print(param) f(d) 이 코드는 {'param': 'test'}를 출력하지만, test만 출력되도록 하고 싶습니다. 더 많은 파라미터에 대해서도 비슷하게 작동하도록 하고 싶습니다: d = dict(p1=1, p2=2) def f2(p1, p2): print(p1, p2) f2(d) 이게 가능할까요? 답변 끝내 스스로 해결했습니다. 간단한 문제였는데 딕셔너리를 언팩하기 위해 ** 연산자를 빠뜨렸던 것이었습니다. 그래서 나의 예제는 다음과 같이 됩니다: d = dict(p1=1, p2=2) def f2(p1,p2.. 2023. 10. 30.
Python *args와 **kwargs에 대한 타입 주석, Type annotations for *args and **kwargs 질문 I'm trying out Python's type annotations with abstract base classes to write some interfaces. Is there a way to annotate the possible types of *args and **kwargs? For example, how would one express that the sensible arguments to a function are either an int or two ints? type(args) gives Tuple so my guess was to annotate the type as Union[Tuple[int, int], Tuple[int]], but this doesn't work. fr.. 2023. 10. 30.