Python 元组出错的排序列表

Python 元组出错的排序列表,python,Python,我对python有点陌生。我读了很多书,现在我想解决问题。我正试图在DailyProgrammer(reddit)上解决我能解决的所有问题 不管怎样,我有个问题。我试图在第二个值之后对元组列表进行排序。除了一件事,它工作得很好。在列表中应该是第一个的值之一最后结束 class UserTime(object): def __init__(self, user, time): self.user = user self.time = time d

我对python有点陌生。我读了很多书,现在我想解决问题。我正试图在DailyProgrammer(reddit)上解决我能解决的所有问题

不管怎样,我有个问题。我试图在第二个值之后对元组列表进行排序。除了一件事,它工作得很好。在列表中应该是第一个的值之一最后结束

class UserTime(object):

    def __init__(self, user, time):
        self.user = user
        self.time = time

    def __repr__(self):
        return '{}: {}'.format(self.user,
                                  self.time)
user_time_list = [ 
    UserTime('UserA', '41.04'), 
    UserTime('UserB', '7.06'), 
    UserTime('UserC', '20.63'), 
    UserTime('UserD', '54.28'), 
    UserTime('UserE', '12.59'), 
    UserTime('UserF', '31.17'), 
    UserTime('UserG', '63.047') ]

print(user_time_list)
print
print(sorted(user_time_list, key=lambda user: user.time))

Output:

[UserA: 41.04, UserB: 7.06, UserC: 20.63, UserD: 54.28, UserE: 12.59, UserF: 31.17, UserG: 63.047]

[UserE: 12.59, UserC: 20.63, UserF: 31.17, UserA: 41.04, UserD: 54.28, UserG: 63.047, UserB: 7.06]

我一直在网上尝试各种技巧。在谷歌上搜索。即使是gett属性函数。我也尝试过在不创建类的情况下创建一个简单的元组列表来实现这个解决方案。同样的问题。。。UserB最后一个结束。这是错误的,因为他显然是赢家;)

您正在对字符串进行排序。这意味着它们是按字典顺序排序的。 按照这个顺序,
位于数字后面

您希望使列表中的数字浮动,并进行数字比较:

user_time_list = [ 
    UserTime('UserA', 41.04), 
    UserTime('UserB', 7.06), 
    UserTime('UserC', 20.63), 
    UserTime('UserD', 54.28), 
    UserTime('UserE', 12.59), 
    UserTime('UserF', 31.17), 
    UserTime('UserG', 63.047) ]

哦,该死。这是一个简单的解决方案。非常感谢:)没问题,顺便欢迎使用堆栈溢出。你可以点击左边的复选标记,将答案标记为“这解决了我的问题”。哈哈,谢谢。从现在起我会让你们忙个不停。尤其是当我跳转到日常编程的中等和困难问题上时