Source code for pyqqq.utils.array

from typing import List


[docs] def chunk(arr: List, size: int = 1) -> List[List]: """ 주어진 배열을 특정 크기의 하위 배열로 나눕니다. 이 함수는 주어진 배열 arr을 size 매개변수로 지정된 크기의 여러 하위 배열로 나누어 새로운 리스트로 반환합니다. 만약 arr의 길이가 size로 나누어떨어지지 않는 경우, 마지막 하위 배열은 나머지 요소들로 구성됩니다. Args: arr (List): 하위 배열로 나눌 대상이 되는 배열. size (int, optional): 하위 배열의 크기. 기본값은 1입니다. Returns: List[List]: 주어진 size에 따라 나누어진 하위 배열들의 리스트. Examples: >>> chunk([1, 2, 3, 4, 5], 2) [[1, 2], [3, 4], [5]] >>> chunk([1, 2, 3, 4, 5], 3) [[1, 2, 3], [4, 5]] """ return [arr[i : i + size] for i in range(0, len(arr), size)]
def find(predicate, iterable): """ 주어진 조건을 만족하는 첫 번째 항목을 반환합니다. 이 함수는 iterable에서 주어진 조건(predicate)을 만족하는 첫 번째 항목을 찾아 반환합니다. 만약 조건을 만족하는 항목이 없으면 None을 반환합니다. Args: predicate (callable): 각 항목에 대해 평가할 함수. iterable (iterable): 검색할 항목들을 포함하는 iterable 객체. Returns: object: 조건을 만족하는 첫 번째 항목. 조건을 만족하는 항목이 없으면 None. Examples: >>> find(lambda x: x > 10, [1, 9, 15, 20]) 15 >>> find(lambda x: x > 10, [1, 2, 3]) None """ return next((x for x in iterable if predicate(x)), None)