def list2str(x: list):
    """
    covert all items into strings in an any dimension list.
    it's very useful when you want to print an n dimension list while some items in it is pointers.
    :param x: (list)
    :return: (list of only strings)
    """
    _list = []
    for _i in x:
        if type(_i).__name__ == 'list':
            _list.append(list2str(_i))
        else:
            _list.append(str(_i))
    return _list