就是一段程序,可以求出N个不等长列表中取N个元素形成的所有组合
def get_result_in_vector(vector, N, tmp, tmp_result):
"""
:param vector:所有组合的拼接
:param N:从几开始
:param tmp:
:param tmp_result: 空列表,暂时存储结果
:return:所有组合
获取所有组合结果
"""
for i in range(0, len(vector)):
if i < len(vector[N]):
tmp.append(vector[N][i])
if N < len(vector)-1:
get_result_in_vector(vector, N+1, tmp, tmp_result)
else:
one_result = []
for j in range(0, len(tmp)):
one_result.append(tmp[j])
tmp_result.append(one_result)
tmp.pop()
else:
continue
return tmp_result if __name__ == '__main__':
arr1 = [283, 284, 285, 286, 287]
arr2 = [288, 289, 290, 291, 292, 293]
arr3 = [294, 295]
arr4 = [296, 297]
arr5 = [298, 299, 300]
arr6 = [301, 302]
arr7 = [303, 304]
arr8 = [305, 306, 307, 308]
arr9 = [309, 310, 311, 312]
arr10 = [313, 314, 315, 316, 317]
result = []
vec_list = []
vec_list.append(arr1)
vec_list.append(arr2)
vec_list.append(arr3)
vec_list.append(arr4)
vec_list.append(arr5)
vec_list.append(arr6)
vec_list.append(arr7)
vec_list.append(arr8)
vec_list.append(arr9)
vec_list.append(arr10)
result_combine = get_result_in_vector(vec_list, 0, tmp_vec, result)
就是一段程序,可以求出N个不等长列表中取N个元素形成的所有组合的更多相关文章
- 【C语言】输入一组整数,求出这组数字子序列和中最大值
//输入一组整数.求出这组数字子序列和中最大值 #include <stdio.h> int MAxSum(int arr[],int len) { int maxsum = 0; int ...
- 使用回溯法求所有从n个元素中取m个元素的组合
不多说了,直接上代码,代码中有注释,应该不难看懂. #include <stdlib.h> #include <stdio.h> typedef char ELE_TYPE; ...
- C----------输入一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的序列。
© 版权声明:本文为博主原创文章,转载请注明出处 代码: #include <stdio.h> #include <stdlib.h> #define GET_ARRAY_LE ...
- 通过n+1个控制点求出n段分段函数的解析式
最近刚好学了解析几何,在学完二元一次方程组与一次函数的关系后,我突然有了一个大胆的想法! 可不可以用程序自动求出一次函数的解析式呢? 这个想法源自于最近一段时间数学练习册上百考不厌的同类型题:给定在一 ...
- Ruby求出数组中最小值及其下标
其实很简单 Ruby的Array类自带了min方法可以求出最小值,然后调用Array的index方法传入元素值就可以求出下标 a = [1, 2, 3, 4, 5, 6] theMin = a.min ...
- 计算机二级-C语言-程序设计题-190119记录-求出一个二维数组每一列的最小值。
//编写一个函数:tt指向一个M行N列的二维数组,求出二维数组每列中最小的元素,并依次放入pp所指的一维数组中.二维数组中的数在主函数中赋予. //重难点:求出的是每一列的最小值,这里要注意,学会简化 ...
- 请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框。程序可以判断出用
请写出一段JavaScript代码,要求页面有一个按钮,点击按钮弹出确认框.程序可以判断出用 户点击的是“确认”还是“取消”. 解答: <HTML> <HEAD> <TI ...
- Java初学者作业——编写 Java 程序,用户输入 3 个操作数,分别求出最大值、最小值和平均值。
返回本章节 返回作业目录 需求说明: 编写 Java 程序,用户输入 3 个操作数,分别求出最大值.最小值和平均值. 实现思路: 定义 Java 类,定义 3 个方法,用来求 3 个数字的最大值.最小 ...
- 防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结
防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数 ...
随机推荐
- [转] 关于SIGPIPE导致的程序退出
PS: 如果服务器程序不忽略SIGPIPE,在某些时候TCP writer收到这个信号,会导致进程退出 The rule that applies is: When a process writes ...
- ls Common Command-Line Options
ls Common Command-Line Options Command Use: ls -l Shows a long listing, which includes informat ...
- hdu 2106
#include <iostream> #include <cmath> #include <string.h> using namespace std; int ...
- java2实用教程102小程序(分数计算和流水线计算
import java.util.Scanner; public class test{ public static void main(String args[]){ Rational a=new ...
- C++ 约瑟夫环
约瑟夫环: 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直到圆桌周 ...
- 修改MYSQL最大连接数的2种方法
mysql默认最大连接数是100,增加加默认MYSQL连接数的方法有两个 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini(windows) 或 my.cnf(linux环境)查找 ...
- 移植openssh到nuc951 evb板
移植openssh到nuc951 evb板 一 应用环境: 硬件:nuc951evb 软件:linux2.6.35 bsp 二 交叉编译openssl openssh 1.下载 openssl-1.0 ...
- 在Mvc中创建WebApi是所遇到的问题
1.提示"The 'ObjectContent`1' type failed to serialize the response body for content type 'applica ...
- 3.2 GUN as汇编(本文内容大部分引用原文,非原创)
as86汇编仅仅用于编译内核中的boot/bootsect.s引导扇区程序和实模式下的设置程序boot/setup.s.内核中其余所有汇编语言程序(包括C语言产生的汇编程序)均使用gas来编译,并与C ...
- Windows下更改MySQL数据库的存储位置
在MySQL安装完成后,要修改数据库存储的位置,比如从安装目录下的C:\Program Files\MySQL\MySQL Server 5.0\Data文件夹转移到D:\mySQLData文件夹. ...