Group

Splits a list into smaller groups (chunks) of a specified size.

Type
python
Pack
CommunityCommonScripts

Source

import demistomock as demisto  # noqa: F401
from CommonServerPython import *  # noqa: F401
from typing import Any


def group(data: list[Any], chunk: int, structure: str | None, delimiter: str | None) -> list[list[Any]] | list[str]:
    if structure == "List":
        return [data[i : i + chunk] for i in range(0, len(data), chunk)]
    else:
        if not delimiter:
            delimiter = ","
        return [delimiter.join(map(str, data[i : i + chunk])) for i in range(0, len(data), chunk)]


def main():
    try:
        args = demisto.args()
        data: list = argToList(args["input"])
        chunk: int = int(args["chunk"])
        structure: str | None = args.get("type")
        delimiter: str | None = args.get("delimiter")
        if chunk <= 0:
            return_error("chunk must be greater than 0.")
        outputs = group(data, chunk, structure, delimiter)
        return_results(
            CommandResults(
                outputs=outputs,
                outputs_prefix="Group",
                readable_output="Input is grouped.",
            )
        )
    except Exception as e:
        return_error("ERROR :" + str(e))


if __name__ in ("__main__", "builtins", "__builtin__"):
    main()

README

Splits a list into group.

e.g. [1,2,3,4] -> [“1,2”, “3,4”].

Script Data


Name Description
Script Type python3
Tags Utilities

Inputs


Argument Name Description
input An input list.
chunk Size of each group.
type Group as list or string.
delimiter Separate elements using delimiter (If type is String).

Outputs


Path Description
Group The list after grouping.