将两个有序列表组合成新的有序列表,并去除重复元素
程序员文章站
2022-05-21 23:29:31
...
题目:
有两个有序列表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)
上一篇: pku acm 2248 addtion chians 解题报告
下一篇: 决策树之实现