列表排序返回意外输出

2024-09-27 04:19:51 发布

您现在位置:Python中文网/ 问答频道 /正文

输入

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)

Tags: 代码列表input排序sortlistintsplit
1条回答
网友
1楼 · 发布于 2024-09-27 04:19:51

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

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

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

相关问题 更多 >

    热门问题