在Python中对整数列表进行排序

时间:2016-04-03 13:48:47

标签: python sorting

我是一名初学程序员,我正在尝试进行练习。 我想对整数列表进行排序,但每次运行我的代码时,列表都没有排序。我已经使用sorted()或.sort()以几种不同的方式尝试过它,但是没有看到帮助。

def main():

    _list1_ = []
    _list2_ = []

    print("Enter random numbers and enter Q to quit: ")
    userInput1 = input("")
    while userInput1.upper() != "Q":
        _list1_.append(int(userInput1))
        userInput1 = input("")

    print("Enter random numbers and enter Q to quit:")
    userInput2 = input("")
    while userInput2.upper() != "Q":
        _list2_.append(int(userInput2))
        userInput2 = input("")

    sorted(_list1_)
    sorted(_list2_)

    print(_list1_)

main()

谢谢!

3 个答案:

答案 0 :(得分:5)

sorted()没有对列表进行排序。它返回排序列表,因此您需要将2 sorted()次调用更改为以下内容:

_list1_ = sorted(_list1_)
_list2_ = sorted(_list2_)

阅读文档以了解功能如何工作总是一个好主意。这是排序的文档 https://docs.python.org/2/library/functions.html#sorted

答案 1 :(得分:2)

<div class="form-group"> <select class="form-control" ng-model="selection" ng-options="dropdown._id for dropdown in getDropDownData()"> <option value="">Select</option> </select> </div> 返回已排序的列表,而sorted执行排序。

所以你可以这样做:

sort

或:

_list1_ = sorted(_list_)

如果您使用_list1_.sort() (我的首选方法),您的代码将如下所示:

sort

答案 2 :(得分:0)

sorted(_list1_) 

在排序list1后返回一个列表,它不对list1进行排序。所以写

print(sorted(_list1_)) 

或将已排序的list1分配给list1,如

_list1_ = sorted(_list1_)