본문 바로가기

generator3

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 파이썬에서 날짜 범위를 반복하는 것, Iterating through a range of dates in Python 질문 다음과 같은 코드가 있습니다. 그러나 어떻게 더 좋게 할 수 있을까요? 현재는 중첩된 루프보다는 더 좋다고 생각하지만, 생성기가 목록 표현식에 포함되면 Perl-one-linerish해집니다. day_count = (end_date - start_date).days + 1 for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d 2023. 10. 9.
Python 리스트를 동일한 크기의 청크로 나누는 방법은 무엇인가요?, How do I split a list into equally-sized chunks? 질문 어떻게 임의 길이의 목록을 동일한 크기의 청크로 분할할 수 있나요? 데이터 결과가 루프에 직접 사용되고 저장할 필요가 없는 경우 목록을 청크로 반복하는 방법을 참조하십시오. 문자열 입력에 대한 동일한 질문의 경우 n번째 문자마다 문자열 분할?을 참조하십시오. 동일한 기술이 일반적으로 적용되지만 일부 차이점이 있습니다. 답변 여기 균등하게 크기가 나눠지는 청크를 생성하는 생성기가 있습니다: def chunks(lst, n): """리스트에서 연속적인 n 크기의 청크를 생성합니다.""" for i in range(0, len(lst), n): yield lst[i:i + n] import pprint pprint.pprint(list(chunks(range(10, 75), 10))) [[10, 11, .. 2023. 5. 6.