我们如何获得此输出?

时间:2019-10-05 18:01:23

标签: python-3.x list loops for-loop nested-lists

我们都知道20.1> 20,但是当我编译这段代码时,我会得到什么结果

1


if __name__ == '__main__':
    arr=[]
    max
    for i in range(int(input("Range: "))):
        name = input("Name: ")
        score = float(input("Score: "))
        item=[name,score]
        arr.append(item)
    arr.sort(reverse=True)
    print(arr)

我希望安排40,20.1,20.01,20.001等,但是我得到40,20,20.1,20.01,20.001等

1 个答案:

答案 0 :(得分:0)

您的排序键不正确。有效的代码如下:

if __name__ == '__main__':
    arr=[]
    max
    for i in range(int(input("Range: "))):
        name = input("Name: ")
        score = float(input("Score: "))
        item=[name,score]
        arr.append(item)
    arr.sort(key=lambda x: x[1] , reverse=True)
    print(arr)