Multiply/select数组的每一个组合创建一个海量数据集
Multiply/select every combination of an array to create a massive data set
我有一个数组 ['cat','dog','rabbit','snake','sheep','cow','horse','pig'],我想输出元素的每个组合,同时也删除元素,直到数据集包含每只动物之一。
['cat','dog','rabbit']
['cat','dog',]
['cat']
['dog','rabbit']
['dog']
['cat','rabbit']
['rabbit']
但有更多的数据等等...
是否有任何模块可以帮助解决这个问题?
谢谢
尝试从标准库中 itertools.combinations 来组合元素。
此模块包含许多很酷的东西,适合您想要完成的工作。重要的是这个模块上的每个函数,returns 一个 iterable 而不是一个列表,所以你可以用它来创建 "on-demand" 结果,因为大数据集上的组合算法可以真的很贵
我有一个数组 ['cat','dog','rabbit','snake','sheep','cow','horse','pig'],我想输出元素的每个组合,同时也删除元素,直到数据集包含每只动物之一。
['cat','dog','rabbit']
['cat','dog',]
['cat']
['dog','rabbit']
['dog']
['cat','rabbit']
['rabbit']
但有更多的数据等等...
是否有任何模块可以帮助解决这个问题?
谢谢
尝试从标准库中 itertools.combinations 来组合元素。
此模块包含许多很酷的东西,适合您想要完成的工作。重要的是这个模块上的每个函数,returns 一个 iterable 而不是一个列表,所以你可以用它来创建 "on-demand" 结果,因为大数据集上的组合算法可以真的很贵