python list元素合并_【python】如何把前面3个元素做为key合并多个列表?

54584f8f00019fc002200220-100-100.jpg

胡子哥哥

下面的可以实现,可能代码有点丑:def combine_list(list1, list2):

    list0 = list1[:]    if list1[0] == list2[0] and list1[1] == list2[1] and list1[2] == list2[2]:

        list_temp = [list1[3], list2[3]]

        list0[3] = list_temp        return list0    else:        passo = []

a = ['cmd', ['opt1', 'opt2'], '12.2(2)SE', 'Cat3560']

b = ['cmd', ['opt1', 'opt2'], '12.2(2)SE', 'Cat4500']

c = ['cmd', ['opt1', 'opt2', 'opt3', 'opt4'], '12.3(2)SE', 'Cat3560']

d = ['cmd', ['opt1', 'opt2', 'opt3'], '12.4(2)SE', 'Cat3560']

o.append(a)

o.append(b)

o.append(c)

o.append(d)

o_new = o[:]

i = 1j = 0for i in range(i, len(o)):

    temp = combine_list(o[j], o[i])    if temp is not None:

        o_new.append(temp)

        o_new.remove(o[j])

        o_new.remove(o[i])    if i == 3:

        j += 1

        i = 1

    if j == 3:        breakprint(o_new)Result:

[['cmd', ['opt1', 'opt2', 'opt3', 'opt4'], '12.3(2)SE', 'Cat3560'], ['cmd', ['opt1', 'opt2', 'opt3'], '12.4(2)SE', 'Cat3560'], ['cmd', ['opt1', 'opt2'], '12.2(2)SE', ['Cat3560', 'Cat4500']]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值