就是一段程序,可以求出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 个结点的值及其思想的总结
防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数 ...
随机推荐
- hdu1387之queue应用
Team Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- oracle手动删除数据库
有时候,无法使用图形界面时,我们需要手动删除数据库,具体操作步骤如下:一.手动删除文件系统数据库 1.停止监听,防止有新的连接产生,同时,在数据库配置了em的,也需要停止 $ lsnrctl st ...
- mongodb的tailCursor的设计思想
http://derickrethans.nl/mongodb-and-solr.html 这是mongodb的php客户端的写法
- 用CSS边框图像让你的网站更漂亮
不久之前,添加一些装饰性元素,例如给网页中的图片添加花哨的边,以及耐心调整CSS文件才能使你的网页看起来不错.然而现在CSS已经做出了改变,用复杂的边框装饰你的网站只需几行代码.这篇文章将告诉你如何做 ...
- 【sql】经典SQL语句大全
原文链接:http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html —————————————————————————————— ...
- [php基础]Mysql日期函数:日期时间格式转换函数详解
在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...
- Code First研究学习1_Reverse Enginner Code First
最近因为公司需要,自己开始研究Code First,之前还是听说过这个,也知道是代码优先的意思!至于具体怎么的代码优先,我的理解如下! 在听说code first的时候,心里也就觉得怪了,是怎么将M ...
- MSSQL 字符串替换语句
MSSQL替换语句:update 表名 set 字段名=replace(cast(字段名 as varchar(8000)),'abc.com','123.com')例如:update PE_Arti ...
- new date() 函数在浏览器中的兼容问题!!
引言: 同一种语言javascript,在不同的浏览器中,存在语言兼容性问题,本质上是由于不同的浏览器是支持的语言标准和实现上各有差异.本文将基于new Date来创建Date对象来分析这个问题. v ...
- linux 目录说明
1./bin /usr/bin /usr/local/bin 都是放置用户可执行二进制文件. 2./boot 主要是放置liunx系统启动时用到的文件. 2./dev 文件夹内主要是西东外设 ...