Python题:合并两个字符串数组的值A和B到C

如题:

A = [
    'a,1',
    'bb,3,22',
    'c,3,4',
    'b,5'
]

B = [
    'a,2',
    'bb,1',
    'd,2',
    'a,3'
]

现要求合并A和B到C,输出C为:

['a,1,2,3', 'bb,3,22,1', 'c,3,4', 'b,5', 'd,2']

即A中'a', 'bb', 'c', 'b'等作为参考,同B一样合并为一个数组。

当A和B包含的元素很多时,要注意效率。能否以O(n)的时间复杂度来实现呢?可以想一想再看答案。

。。。不排版了,一把嗦。

from collections import defaultdict


def append_val(list_A: list, list_B: list) -> list:
    list_C = []
    dic = defaultdict(str)

    for i in list_A, list_B:
        for val in i:
            first_index = val.index(',')
            key = val[:first_index]
            value = val[first_index + 1:]
            if dic[key] == '':
                dic[key] = value
                continue
            dic[key] = dic[key] + ',' + value
    for k, v in dic.items():
        list_C.append(k + ',' + v)
    return list_C

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值