【问题标题】:how can i sort an object in a list python我如何对列表python中的对象进行排序
【发布时间】:2013-11-29 05:06:53
【问题描述】:

我在 python 中有这些代码

类图普拉: def init(self, xid, prob): 自我.xid = xid self.prob = 概率

我在一个列表中添加了这个类的一些对象

打印我的列表1

[('X10', 11, ''), ('X9', 11, ''), ('X11', 11, ''), ('X2', 11, '')]

我尝试订购它

myList1 = sorted(myList1, key=lambda Tupla: Tupla.xid, reverse=True)

打印我的列表1

[('X9', 11, ''), ('X2', 11, ''), ('X11', 11, ''), ('X10', 11, '')]

我正在寻找人工排序 我需要像这样订购列表: [('X2', 11, ''), ('X9', 11, ''), ('X10', 11, ''), ('X11', 11, '')]

我该怎么做?

谢谢

【问题讨论】:

    标签: python-2.7


    【解决方案1】:
    def Tupla(xid, prob):
        class _Tupla:
            def __init__(self):
                pass
    
            def get_id(self):
                return xid
    
            def get_prob(self):
                return prob
    
    
        return _Tupla()
    
    myList = map(lambda arg: Tupla(*arg), (('X10', 11), ('X9', 11), ('X11', 11), ('X2', 11)))
    myList.sort(key = lambda obj: int(obj.get_id()[1:]))
    
    print [(x.get_id(), x.get_prob()) for x in myList]
    

    输出:

    [('X2', 11), ('X9', 11), ('X10', 11), ('X11', 11)]
    

    【讨论】:

    • ¬¬ 我这样做了 sorted(myList1, key=lambda Tupla: Tupla.xid, reverse=True) 你读过这个问题吗??我只需要像人类排序那样的排序
    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 2018-07-21
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多