본문 바로가기

itertools3

Python 제너레이터나 리스트에서 처음 N개의 항목을 가져오는 방법은 무엇인가요? [중복됨], How to take the first N items from a generator or list? [duplicate] 질문 linq을 사용하면 var top5 = array.Take(5); 파이썬으로 이것을 어떻게 할 수 있을까요? 답변 리스트 슬라이싱 top5 = array[:5] 리스트를 슬라이싱하기 위해 간단한 구문이 있습니다: array[start:stop:step] 어떤 매개변수도 생략할 수 있습니다. 다음은 모두 유효합니다: array[start:], array[:stop], array[::step] 제너레이터 슬라이싱 import itertools top5 = itertools.islice(my_list, 5) # 첫 다섯 개의 요소 가져오기 파이썬에서는 직접적으로 제너레이터를 슬라이싱할 수 없습니다. itertools.islice()는 객체를 새로운 슬라이싱 제너레이터로 감싸주며 다음과 같은 구문을 사용합.. 2023. 12. 4.
Python 리스트의 모든 순열을 생성하는 방법은 무엇인가요?, How do I generate all permutations of a list? 질문 리스트의 모든 순열을 생성하는 방법은 무엇인가요? 예를 들어: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 답변 표준 라이브러리의 itertools.permutations을 사용하세요: import itertools list(itertools.permutations([1, 2, 3])) 여기에서 적용된 itertools.permutations의 구현 예시입니다: def permutations(elements): if len(elements) AB AC AD B.. 2023. 6. 30.
Python 반복 중에 목록에서 항목을 제거하는 방법은 무엇인가요?, How to remove items from a list while iterating? 질문 파이썬에서 튜플 목록을 반복하면서 특정 조건을 충족하는 경우 해당 튜플을 제거하려고합니다. for tup in somelist: if determine(tup): code_to_remove_tup code_to_remove_tup 대신에 무엇을 사용해야합니까? 이러한 방식으로 항목을 제거하는 방법을 찾을 수 없습니다. 답변 리스트 컴프리헨션을 사용하여 제거하지 않을 요소만 포함하는 새로운 리스트를 만들 수 있습니다: somelist = [x for x in somelist if not determine(x)] 또는 somelist[:] 슬라이스에 할당하여 원래 리스트를 변경하여 원하는 항목만 포함시킬 수 있습니다: somelist[:] = [x for x in somelist if not deter.. 2023. 6. 7.