排列组合合并Python里两个list的元素import itertoolsa,b=[1,2,3],[4,5,6]print(list(itertools.product(a,b)))
list_a = [1,3,5,7,9] list_b = [0,2,4,6,8]# list_result_sort = [] # 排列没懂你想要怎么做?合并之后排序吗?list_result_combine = zip(list_a, list_b) list_result_merge = list_a.extend(list_b)""" list_result_combine(1, 0)(3, 2)(5, 4)(7, 6)(9, 8)"""
生成排列可以用product:from itertools import productl = [1, 2, 3]print list(product(l, l))print list(product(l, repeat=4))组合的话可以用combinations:from itertools import combinationsprint list(combinations([1,2,3,4,5], 3))
list1=[('a',1),('b',5),('c',3)]list2=[('a',2),('b',2)]hash = {}for i,k in list1+list2: if i not in hash: hash[i] = k elif k >= hash[i]: hash[i] = klist3 = hash.items()print(list3)这样吗 随便写的
除了直接相加(生成新的list),还有两种方法(修改其中一个list):1. 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如:>>> L1 = [1, 2, 3, 4, 5]>>> L2 = [20, 30, 40]>>> L1.extend(L2)>>> L1[1, 2, 3, 4, 5, 20,
>>> L1 = [1, 2, 3, 4, 5]>>> L2 = [20, 30, 40]>>> L1.extend(L2)>>> L1[1, 2, 3, 4, 5, 20, 30, 40]
没办法,word有那功能,excel没拆分功能 ,只能多加一整列后逐个与后横列的合并在一起,再调整到原来的形式.只有这个笨办法.
给个代码示例吧:a=[1,2,3]b=[4,5,6]c=a[:]c=c+b #此时列表c的内容是a与b合并后的内容如果是原地合并,即把a与b的内容合并到a,则代码如下:a=[1,2,3]b=[4,5,6]a.extend(b) #此时列表a的内容是a与b合并后的内容
如果是大文件的话不适合将数据预先读入内存形成dict进行后期处理 但有两个方法: 1. 用 key-value数据库如bsddb模拟内存中的dict2. 对两个文件先用系统工具软件进行排序(如linux下的sort),然后再同时打开两个文件 在两个文件中顺序处理根据key值大小的不一移动不同的指针;然后进行合并逻辑.