Python编程练习:合并数组

题目描述

给定两个已排序的数列,均按照升序排列。要求把两个数列合并成一个数列,并且保证仍然按照升序排列,若数列中有重复的数据,则不保留该数

输入描述

第一行输入两个正整数x、y(1≤x,y≤1000),分别表示两个数列中元素的个数

第二行输入x个数,表示第一个数列

第三行输入y个数,表示第二个数列

输出描述

输出按要求合成后的数列

numstr=input()
numlist=numstr.split(' ')
x=int(numlist[0])
y=int(numlist[1])

array=input()
templist=array.split(' ')
arrlist_x=[]
for i in range(x):
    arrlist_x.append(int(templist[i]))

array=input()
templist=array.split(' ')
arrlist_y=[]
for i in range(y):
    if int(templist[i]) not in arrlist_x:
        arrlist_y.append(int(templist[i]))
    else:#同时在x y列表中出现的元素删除
        arrlist_x.remove(int(templist[i]))

arrlist=arrlist_x+arrlist_y

sortlist=[]
while arrlist:
    mm=min(arrlist)
    arrlist.remove(mm)
    sortlist.append(mm)

#print(sortlist)
for num in sortlist:
    print(str(num)+' ',end='')

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值