2 つのリストを取り、2 つのリストの違いのみを持つリストを返す関数を作成しようとしています。
例:
a = [1,2,5,7,9]
b = [1,2,4,8,9]
結果は印刷されるはずです[4,5,7,8]
これまでの機能:
def xor(list1, list2):
list3=list1+list2
for i in range(0, len(list3)):
x=list3[i]
y=i
while y>0 and x<list3[y-1]:
list3[y]=list3[y-1]
y=y-1
list3[y]=x
last=list3[-1]
for i in range(len(list3) -2, -1, -1):
if last==list3[i]:
del list3[i]
else:
last=list3[i]
return list3
print xor([1,2,5,7,8],[1,2,4,8,9])
最初の for ループはそれを並べ替え、2 番目のループは重複を削除します。問題は、結果が では
[1,2,4,5,7,8,9]
ない[4,5,7,8]
ため、重複が完全に削除されないことですか? これを行うには何を追加できますか。特別なモジュール、.sort、set などは使用できません。基本的にループするだけです。