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']]]