Python3中的排序列表

Python3中的排序列表,python,list,defaultdict,Python,List,Defaultdict,因此,我需要按照第二个嵌套列表的第一个元素(具有01、02、03等元素)对此类列表进行排序,其中包含一些随机数据: 该随机数据随后与其他一些数据一起在defaultdict中使用,以便将其分组并按键打印出来(键是像00553、00551这样的数字) 在将其放入defaultdict之前,我尝试对其进行排序,但我得到的只是嵌套列表本身的值 谁能帮帮我,我是新来的 >>> lis = [['00553', ['01', '3.4']], ['00553', ['02', '2.1'

因此,我需要按照第二个嵌套列表的第一个
元素
(具有
01、02、03等元素)对此类列表进行排序,其中包含一些随机数据:

该随机数据随后与其他一些数据一起在defaultdict中使用,以便将其分组并按键打印出来(键是像
00553、00551这样的数字)

在将其放入defaultdict之前,我尝试对其进行排序,但我得到的只是嵌套列表本身的值

谁能帮帮我,我是新来的

>>> lis = [['00553', ['01', '3.4']], ['00553', ['02', '2.1']], ['00551', ['02', '5.3']]]
>>> sorted(lis, key = lambda x: int(x[1][0])) 
[['00553', ['01', '3.4']], ['00553', ['02', '2.1']], ['00551', ['02', '5.3']]]
结果

>>> newlist
[['00553', ['01', '3.4']], ['00551', ['01', '5.3']], 
      ['00553', ['02', '2.1']], ['00551', ['02', '5.3']], ['00551', ['04', '5.3']]]

如果您不喜欢
lambda
,但喜欢一些文档:

L = [['00553', ['01', '3.4']], ['00553', ['02', '2.1']], ['00551', ['02', '5.3']]]
def by_first_of_second(sub_list):
    """First element of second entry as sort key.
       Convert to int to sort by numerical value.
    """
    return int(sub_list[1][0])

sorted(L, key=by_first_of_second)
结果:

[['00553', ['01', '3.4']], ['00553', ['02', '2.1']], ['00551', ['02', '5.3']]]

为什么爱情比什么都重要?:)阴影
排序
太棒了!不,内置阴影一点也不可怕;这是一种容易出错的做法,应该避免
L = [['00553', ['01', '3.4']], ['00553', ['02', '2.1']], ['00551', ['02', '5.3']]]
def by_first_of_second(sub_list):
    """First element of second entry as sort key.
       Convert to int to sort by numerical value.
    """
    return int(sub_list[1][0])

sorted(L, key=by_first_of_second)
[['00553', ['01', '3.4']], ['00553', ['02', '2.1']], ['00551', ['02', '5.3']]]