列表排序返回意外输出

时间:2018-09-03 18:47:47

标签: python python-3.x

输入

4
2 4 5 9
4
2 4 11 12

输出

11 
12 
5 
9

预期产量

5
9
11
12

我希望列表能够被排序,但是即使从列表转换为列表之后,它仍会根据集合进行排序。

代码

m = int(input())
minp=input().split()
n = int(input())
ninp=input().split()
a,b=set(minp),set(ninp)
set3=list(b.difference(a).union(a.difference(b)))
set3.sort()
for i in set3:
    print(i)

1 个答案:

答案 0 :(得分:2)

set3包含字符串,因此sort按字母顺序对字符串进行排序。

在排序之前先将字符串转换为数字:

set3 = [int(n) for n in set3]
set3.sort()