본문 바로가기

list4.6

Python 객체가 리스트 또는 튜플인지 (하지만 문자열은 아닌지) 확인하는 방법은 무엇인가요?, How to check if an object is a list or tuple (but not string)? 질문 이는 입력이 list/tuple이지만 str은 아님을 확인하기 위해 일반적으로 수행하는 작업입니다. 때때로 함수가 실수로 str 객체를 전달하는 버그를 발견하곤 하는데, 대상 함수는 lst가 실제로 list 또는 tuple임을 가정하고 for x in lst를 수행합니다. assert isinstance(lst, (list, tuple)) 제 질문은: 이를 더 잘 달성할 수 있는 방법이 있을까요? 답변 파이썬 2에서만 (파이썬 3에서는 아님): assert not isinstance(lst, basestring) 이게 실제로 원하는 것이에요. 그렇지 않으면 list나 tuple의 하위 클래스가 아니지만 리스트처럼 동작하는 많은 것을 놓칠 수 있어요. 2023. 10. 29.
Python 리스트에서 값의 모든 발생을 제거하시겠습니까?, Remove all occurrences of a value from a list? 질문 파이썬에서 remove()은 리스트에서 값의 첫 번째 발생을 제거합니다. 리스트에서 값의 모든 발생을 제거하는 방법은 무엇인가요? 이것이 제 생각입니다: >>> remove_values_from_list([1, 2, 3, 4, 2, 2, 3], 2) [1, 3, 4, 3] 답변 기능적 접근 방식: 파이썬 3.x >>> x = [1,2,3,2,2,2,3,4] >>> list(filter((2).__ne__, x)) [1, 3, 3, 4] 또는 >>> x = [1,2,3,2,2,2,3,4] >>> list(filter(lambda a: a != 2, x)) [1, 3, 3, 4] 또는 >>> [i for i in x if i != 2] 파이썬 2.x >>> x = [1,2,3,2,2,2,3,4] >>>.. 2023. 10. 12.
Python 두 값 사이에 숫자가 포함된 목록을 어떻게 만들 수 있나요?, How do I create a list with numbers between two values? 질문 두 값 사이에 오름차순 리스트를 어떻게 생성하나요? 예를 들어, 11과 16 사이의 리스트: [11, 12, 13, 14, 15, 16] 답변 사용 range. 파이썬 2에서는 리스트를 직접 반환합니다: >>> range(11, 17) [11, 12, 13, 14, 15, 16] 파이썬 3에서는 range는 이터레이터입니다. 이를 리스트로 변환하려면: >>> list(range(11, 17)) [11, 12, 13, 14, 15, 16] 참고: range(start, stop)의 두 번째 숫자는 배제됩니다. 따라서 stop = 16+1 = 17입니다. 0.5씩 증가하려면 numpy의 arange()와 .tolist()를 고려하세요: >>> import numpy as np >>> np.arange(.. 2023. 9. 18.
Python 문자열을 단어 목록으로 나누는 방법은 무엇인가요?, How do I split a string into a list of words? 질문 어떻게 문장을 나누고 각 단어를 리스트에 저장할 수 있을까요? 예시: "these are words" ⟶ ["these", "are", "words"] 다른 구분자로 나누려면 파이썬에서 구분자로 문자열 나누기를 참조하세요. 개별 문자로 나누려면 문자열을 문자 리스트로 나누는 방법은 무엇인가요?를 참조하세요. 답변 문자열 sentence가 주어지면, 이는 words라는 리스트에 각 단어를 저장합니다: words = sentence.split() 2023. 8. 5.