본문 바로가기

pythonic9

Python 리스트 컴프리헨션 대 맵, List comprehension vs map 질문 map()를 사용하는 것이 리스트 컴프리헨션보다 나은 이유가 있나요? 그리고 그 반대의 경우도 마찬가지인가요? 어느 것이 일반적으로 더 효율적이거나 Pythonic하다고 생각되나요? 답변 map는 경우에 따라 (람다를 만드는 대신 map과 리스트 컴프리헨션에서 동일한 함수를 사용할 때) 미세하게 더 빠를 수 있습니다. 리스트 컴프리헨션은 다른 경우에 더 빠를 수 있으며 대부분의 (모든 것이 아닌) Pythonista는 더 직접적이고 명확하다고 생각합니다. 동일한 함수를 사용할 때 map의 미세한 속도 이점의 예: $ python -m timeit -s'xs=range(10)' 'map(hex, xs)' 100000 loops, best of 3: 4.86 usec per loop $ python -.. 2023. 6. 6.
Python 객체가 속성을 가지고 있는지 확인하는 방법은 무엇인가요?, How do I check if an object has an attribute? 질문 객체에 어떤 속성이 있는지 확인하는 방법은 무엇인가요? 예를 들어: >>> a = SomeClass() >>> a.property Traceback (most recent call last): File "", line 1, in AttributeError: SomeClass instance has no attribute 'property' a가 property 속성을 가지고 있는지 사용하기 전에 어떻게 알 수 있나요? 답변 다음을 시도하십시오. hasattr(): if hasattr(a, 'property'): a.property 아래 zweiterlinde의 답변을 참조하십시오. 그는 용서를 구하는 것에 대한 좋은 조언을 제공합니다! 매우 파이썬적인 접근 방식입니다! 파이썬의 일반적인 관행은, 속.. 2023. 5. 7.
Python 리스트의 마지막 요소를 어떻게 가져올 수 있나요?, How do I get the last element of a list? 질문 리스트의 마지막 요소를 어떻게 가져올 수 있나요? 어떤 방법이 선호되나요? alist[-1] alist[len(alist) - 1] 답변 some_list[-1]은 가장 짧고 파이썬다운 방법입니다. 실제로 이 구문으로 더 많은 작업을 수행할 수 있습니다. some_list[-n] 구문은 뒤에서 n번째 요소를 가져옵니다. 따라서 some_list[-1]은 마지막 요소를 가져오고, some_list[-2]는 뒤에서 두 번째 요소를 가져오며, some_list[-len(some_list)]까지 계속해서 첫 번째 요소를 가져올 수 있습니다. 이 방법으로 리스트 요소를 설정할 수도 있습니다. 예를 들어: >>> some_list = [1, 2, 3] >>> some_list[-1] = 5 # 마지막 요소 설.. 2023. 5. 7.
Python 'for' 루프에서 인덱스에 접근하기, Accessing the index in 'for' loops 질문 for 루프를 사용하여 시퀀스를 반복하면서 인덱스에 액세스하는 방법은 무엇인가요? xs = [8, 23, 45] for x in xs: print("item #{} = {}".format(index, x)) 원하는 출력: item #1 = 8 item #2 = 23 item #3 = 45 답변 enumerate() 내장 함수를 사용하세요: for idx, x in enumerate(xs): print(idx, x) for i in range(len(xs)): x = xs[i]로 수동 색인을 하는 것이나 추가 상태 변수를 수동으로 관리하는 것은 non-pythonic합니다. 자세한 내용은 PEP 279을 확인하세요. 2023. 5. 4.