Python 数组处理封装->仿Java

# -*- coding: utf-8 -*-
from typing import Any


class Tree(object):
    """
    树-类数组模块
    """
    __tree = []

    def __init__(self) -> None:
        """
        树对象
        """
        pass

    def add_arrays(self, *arrays) -> None:
        """
        添加数组的方法
        :param arrays: 数组
        :return:
        """
        if arrays and len(arrays) > 0:
            for arr in arrays:
                self.__tree.append(arr)

    def add(self, obj) -> int:
        """
        添加对象的方法
        :param obj: 对象
        :return:
        """
        self.__tree.append(obj)
        return len(self.__tree)

    def to_array(self) -> list:
        """
        返回数组对象
        :return:
        """
        return self.__tree

    def filter(self) -> list:
        """
        当前数组去重复方法
        :return:
        """
        self.__tree = list(set(self.__tree))

    def get(self, index: int) -> Any:
        """
        获取对象的方法
        :param index:
        :return:
        """
        return self.__tree[index]

    def size(self) -> int:
        """
        获取当前数据的长度
        :return:
        """
        return len(self.__tree)

    def remove(self, index: int) -> None:
        """
        删除数据的方法
        :param index:
        :return:
        """
        self.__tree.remove(self.__tree[index])

    def foreach(self, function) -> list:
        """
        for循环操作方法
        :param function: 传递到的方法
        :return:
        """
        result = []
        for arr in self.__tree:
            res = function(arr)
            if res:
                result.append(res)
        return result

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容