python list 先按第一个元素排序再按照第二个元素排序 或者最先组内排序https://blog.csdn.net/qq_32507417/article/details/107444478

 

 

sorted & sort

参考链接sorted & sort

sorted

a =[3,1,2,4]
a = sorted(a)
  • 1
  • 2

原有list不发生改变,返回一个排序后的对象。

sort

a =[3,1,2,4]
a.sort()
# a.sort(reverse = True)
  • 1
  • 2
  • 3

在原有list进行修改,返回为空。

嵌套list排序

先按第一个元素排序再按第二个元素排序

l = [[1, 0], [0, 2], [3, 1]]
l.sort(key = lambda x : (x[0], x[1]))
  • 1
  • 2

先按组内排序 再按照第一个元素排序

a = [[2,1],[5,6],[4,3], [5,3], [3,3]]
a = [[2,1],[5,6],[4,3]]
a.sort(key=lambda x: (x.sort(), x[0], x[1]))
  • 1
  • 2
  • 3

输出如下

[[1, 2], [3, 3], [3, 4], [3, 5], [5, 6]]
[Finished in 0.8s]





dict1={"战将姓名": "战将战力",
"吕布": 100,
"张飞": 98,
"马超": 97,
"关羽": 97,
"许褚": 96,
"赵云": 96,
"典韦": 95,
"文丑": 94,
"甘宁": 94,
"庞德": 94,
"太史慈": 94,
"黄忠": 93,
"颜良": 93,
"孙策": 93,
"张辽": 93,
"魏延": 92,
"华雄": 92,
"文鸳": 92,
"周泰": 91,
"夏侯渊,": 91,
"孙坚": 90,
"徐晃": 90,
"夏侯敦": 90,
"曹彰": 89,
"姜维": 89,
"张颌": 89,
"凌统": 89,
"吕玲绮": 88,
"马云隶": 88,
"关索": 88}

dictlist=[]
for keys, value in dict1.items():
  temp = [keys,value]
  dictlist.append(temp)
dictlist

执行结果: