clwn.net
当前位置:首页 >> 如何排列组合合并Python里两个list的元素 >>

如何排列组合合并Python里两个list的元素

排列组合合并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值大小的不一移动不同的指针;然后进行合并逻辑.

nmmz.net | 9213.net | sbsy.net | gmcy.net | jingxinwu.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com