본문 바로가기

efficiency7

Python에서 쉼표로 분할하고 공백을 제거하는 방법은 무엇인가요?, How to split by comma and strip white spaces in Python? 질문 나는 쉼표로 나누지만 공백을 제거하지 않는 몇 가지 파이썬 코드가 있습니다: >>> string = "blah, lots , of , spaces, here " >>> mylist = string.split(',') >>> print mylist ['blah', ' lots ', ' of ', ' spaces', ' here '] 저는 이렇게 공백이 제거된 결과를 원합니다: ['blah', 'lots', 'of', 'spaces', 'here'] 리스트를 반복하고 각 항목을 strip()할 수도 있지만, 파이썬이기 때문에 더 빠르고 쉽고 우아한 방법이 있을 것이라고 생각합니다. 답변 리스트 컴프리헨션을 사용하세요 - 더 간단하고 for 루프만큼 읽기 쉽습니다. my_string = "blah, lo.. 2023. 11. 28.
Python 모듈의 import 문은 항상 맨 위에 있어야 합니까?, Should import statements always be at the top of a module? 질문 PEP 8는 다음과 같이 명시합니다: 임포트는 항상 파일의 맨 위에 위치하며, 모듈 주석과 독스트링 바로 다음에 오고, 모듈 전역 변수와 상수 앞에 위치합니다. 하지만 내가 임포트하는 클래스/메소드/함수가 드물게 사용되는 경우, 필요할 때만 임포트하는 것이 더 효율적이지 않을까요? 이렇게 하는 것이: class SomeClass(object): def not_often_called(self) from datetime import datetime self.datetime = datetime.now() 이렇게 하는 것보다 더 효율적이지 않을까요? from datetime import datetime class SomeClass(object): def not_often_called(self) self.d.. 2023. 10. 9.
Python 문자열에서 한 문자를 변경하는 것, Changing one character in a string 질문 파이썬에서 문자열에서 문자를 바꾸는 가장 쉬운 방법은 무엇인가요? 예를 들어: text = "abcdefg"; text[1] = "Z"; ^ 답변 문자열을 수정하지 마세요. 리스트로 작업하고 필요할 때만 문자열로 변환하세요. >>> s = list("Hello zorld") >>> s ['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd'] >>> s[6] = 'W' >>> s ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'] >>> "".join(s) 'Hello World' 파이썬 문자열은 변경할 수 없습니다. 이에는 다양한 이유가 있습니다. 가능한 한 리스트를 사용하고, 필요한 경우에만 문자열로 변환하.. 2023. 10. 9.
Python 다른 목록에서 한 목록에 있는 모든 요소를 제거하세요., Remove all the elements that occur in one list from another 질문 두 개의 리스트 l1과 l2가 있다고 가정해봅시다. l1 - l2를 수행하고 싶은데, 이는 l2에 없는 l1의 모든 요소를 반환합니다. 이를 위해 무식한 반복문 접근 방식을 생각할 수는 있지만, 이는 매우 비효율적일 것입니다. 이를 파이썬다운 방식으로 효율적으로 수행하는 방법은 무엇일까요? 예를 들어, l1 = [1,2,6,8]이고 l2 = [2,3,5,8]일 때, l1 - l2는 [1,6]을 반환해야 합니다. 답변 파이썬에는 이러한 작업을 매우 쉽게 수행 할 수있는 리스트 컴프리헨션(List Comprehensions)이라는 언어 기능이 있습니다. 다음 문장은 원하는 작업을 정확히 수행하고 결과를 l3에 저장합니다: l3 = [x for x in l1 if x not in l2] l3에는 [1, .. 2023. 9. 14.