列表中的负数出错。输出错误。

时间:2017-04-17 17:33:56

标签: python list set

N=int(raw_input())
A=raw_input()
a_list=A.split()
for i in xrange (len(a_list)):
    a_list[i]=int(a_list[i])
s=list(set(a_list))
sorted(s)
print s

当我把N = 5并且放入所有正值时,我按递增顺序得到列表,但是当我把N = 5并且放置负值时,它不会按递增顺序给我一个列表。为什么?

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上,但是你正在使用sorted,sorted()返回一个新的排序列表,原始列表不受影响

sort()对列表进行排序,改变列表索引,并返回None

我们使用任何itterable,list,dict,string,tupple进行排序。

因此,当你想要一个已排序的对象时,请使用sorted(),,当你想要改变列表时,使用sort()

sorted()相比,sort()速度快,因为它不会复制。

在此处阅读完整内容:{{3}}

解决方案:

    N=int(raw_input())
    A=raw_input()
    a_list=A.split()
    for i in xrange (len(a_list)):
        a_list[i]=int(a_list[i])
    s=list(set(a_list))
    s.sort()
    print(s)