Skip to content

utils

dandy.llm.prompt.utils

list_to_str

Source code in dandy/llm/prompt/utils.py
def list_to_str(items: List, ordered: bool = False, indent: int = 0, ordered_number_prefix: str = '') -> str:
    output_str = ''
    ordered_correction = 1

    for i, item in enumerate(items):
        output_str += '    ' * indent

        if isinstance(item, (list, tuple, set)):
            ordered_correction -= 1
            output_str += list_to_str(items=item, ordered=ordered, indent=indent + 1, ordered_number_prefix=f'{ordered_number_prefix}{i + ordered_correction}.')
        else:
            if ordered:
                output_str += f'{ordered_number_prefix}{i + ordered_correction}. '
            else:
                output_str += '- '

            output_str += f'{item}\n'

    return output_str