我有一个未排序的对象列表,每个对象都有一个结束日期属性。在
该列表看起来就像[obj1,obj2,obj3,<;…>;],没有具体的顺序。在
最后我想列出一个如下所示的列表:
[[“5月5日星期六”,[obj3,obj5]],[“5月7日星期一”,[obj1,obj8,obj9]]。。。等等]
基本上只是一个列表列表,其中“key”是来自对象的日期,key的值是具有该日期的对象的列表。不用担心日期格式,这只是一个简单的日期时间操作。我知道用字典比较容易,但我需要以按键排序的列表结束,而使用字典不能做到这一点(至少在python2.6iirc中不是这样)
最有效的方法是什么?我一直在用一堆for循环来搞乱一些解决方案,但似乎我做错了。在
将其放入词典,然后使用
l=list(dictionary.iteritems())
获取列表,并使用l.sort()
对其进行排序你说你知道怎么把它写在字典里。所以,把结果排序:
应该是
O(n log n)
如果要操作日期类型,也可以为
sorted
提供排序方法。见sorting in python overview。在相关问题 更多 >
编程相关推荐