zoukankan      html  css  js  c++  java
  • python列表按比例或长度拆分

    按照长度拆分列表:

        def split_by_length(init_list, children_list_len):
            """
            按照长度拆分给定数组
            :param init_list: 
            :param children_list_len: 
            :return:
            """
            list_of_groups = zip(*(iter(init_list),) * children_list_len)
            end_list = [list(i) for i in list_of_groups]
            count = len(init_list) % children_list_len
            end_list.append(init_list[-count:]) if count != 0 else end_list
            return end_list

    按比例额拆分:

    def split_by_ratio(arr, *ratios):
        """
        按比例拆分数组
        :param arr:
        :param ratios: 该参数的个数即为子数组的个数 eg: 0.5,0.5即为拆分两个各占50%的子数组
        :return:
        """
        arr = np.random.permutation(arr)
        ind = np.add.accumulate(np.array(ratios) * len(arr)).astype(int)
        return [x.tolist() for x in np.split(arr, ind)][:len(ratios)]
  • 相关阅读:
    常见问题
    查询
    多对多关系
    prototype & __proto__
    new operator
    用户
    express.Router
    Express 应用生成器
    LeanCloud
    npm常用命令
  • 原文地址:https://www.cnblogs.com/liown/p/15538774.html
Copyright © 2011-2022 走看看