我有这样的两个列表字典
obj1 = [mydict['obj1'],mydict['obj2'],mydict['obj3'],mydict['obj4']]
obj2 = [mydict['obj1'],mydict['obj2'],mydict['obj3'],mydict['obj4'], mydict['obj5'] ]
现在我想要那个
我想要一个单独的列表,其中包含基于更多元素的上述两个(字典)字典列表,因此我会导致这样的事情
mylist = myfunc(objects1, objects2 )
mylist应该是[objects1, objects2]
之类的列表,具体取决于具有更多对象的人。
使用较少的代码行来实现这一目标的最佳方法是什么
像EDIT
之类的东西mylist = sorted([obj1, obj2], key=lambda a: len(a), reverse=True)
答案 0 :(得分:2)
如果它只是要调用一个函数,就不需要使用lambda函数。
>>> objects1 = [1, 2, 3]
>>> objects2 = ['1', '2', '3', '4']
>>>
>>> mylist = [objects1, objects2]
>>> max(mylist, key=len)
['1', '2', '3', '4']
>>> sorted(mylist, key=len, reverse=True)
[['1', '2', '3', '4'], [1, 2, 3]]
答案 1 :(得分:0)
objects1 = [1, 2, 3]
objects2 = ['1', '2', '3', '4']
mylist = [objects1, objects2]
mylist.sort(key=len, reverse=True)
print mylist
[['1', '2', '3', '4'], [1, 2, 3]]