将两个有序列表组合成新的有序列表,并去除重复元素

题目:
有两个有序列表A和B,合并A和B成为一个新的有序列表C,并去除其中的重复元素。
法一:
思路:
set集合是不存在重复元素的,list列表内的元素是有序的,因此可将两者进行嵌套。先将列表合并,再利用set去重,最后按原序列排序。
代码:

def newList(A,B):
    C=A+B                                  #将两个列表合并(没去重)
    n=list(set(C))                         #去重
    n.sort(key=C.index)              #按原序列排序
    print(n)
if __name__=='__main__':
    A=list(input('InputA:'))            #输入有序列表A
    B=list(input('InputB:'))            #输入有序列表B
    newList(A,B)

法二:
思路:
申请一个新的空列表,先遍历列表A,并将元素添加到新列表中,当元素与列表中有相同时,不添加,直到遍历结束;接着遍历列表B,同上。
代码:

def newL(A,B):
    C=[]
    for i in A:
        if i not in C:
            C.append(i)
    for j in B:
        if j not in C:
            C.append(j)
    print(C)
if __name__=='__main__':
    A=list(input('inputA:'))
    B = list(input('inputB:'))
    newL(A, B)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值