Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 需要帮助标识基于公共变量分隔数组的numpy算法吗_Python_Arrays_Algorithm_Sorting_Numpy - Fatal编程技术网

Python 需要帮助标识基于公共变量分隔数组的numpy算法吗

Python 需要帮助标识基于公共变量分隔数组的numpy算法吗,python,arrays,algorithm,sorting,numpy,Python,Arrays,Algorithm,Sorting,Numpy,我希望有人能对我遇到的问题有所了解。我有一个变量数组: [3,4,7,8,12,18,20,25,30,31,38,43,46,51,58,59] 我想知道如何用一个公共的倍数/分母/你称之为什么来分割它们…假设这个数组的公共变量是13,我希望结果是n变量数,例如: [4,30,43,56] [7,20,46,59] [12,25,38,51] 有没有一种算法可以做到这一点?最接近我对你问题的理解是,数字应该按除n的余数分组。(i%n) 这将解决您的问题。根据您的要求更换阵列和编号 def

我希望有人能对我遇到的问题有所了解。我有一个变量数组:

[3,4,7,8,12,18,20,25,30,31,38,43,46,51,58,59]
我想知道如何用一个公共的倍数/分母/你称之为什么来分割它们…假设这个数组的公共变量是13,我希望结果是
n
变量数,例如:

[4,30,43,56]
[7,20,46,59]
[12,25,38,51]

有没有一种算法可以做到这一点?

最接近我对你问题的理解是,数字应该按除n的余数分组。(i%n)


这将解决您的问题。根据您的要求更换阵列和编号

def run():
    given_array = [3,4,7,8,12,18,20,25,30,31,38,43,46,51,58,59]
    number = 13

    final_result = []

    for e in given_array:
        d = e
        intermediate_array = []
        for f in given_array:
            if e not in intermediate_array:
                intermediate_array.append(e)
            d = d+number
            if d in given_array:
                intermediate_array.append(d)
                given_array.remove(d)
        if intermediate_array and len(intermediate_array) > 1:
            final_result.append(intermediate_array)
    print final_result


if __name__ == '__main__':
    run()
def run():
    given_array = [3,4,7,8,12,18,20,25,30,31,38,43,46,51,58,59]
    number = 13

    final_result = []

    for e in given_array:
        d = e
        intermediate_array = []
        for f in given_array:
            if e not in intermediate_array:
                intermediate_array.append(e)
            d = d+number
            if d in given_array:
                intermediate_array.append(d)
                given_array.remove(d)
        if intermediate_array and len(intermediate_array) > 1:
            final_result.append(intermediate_array)
    print final_result


if __name__ == '__main__':
    run()