# 数据如下:
a = [
[1093, 19, [811, 814, 817]],
[996, 23, [1, 4, 7]],
[1069, 19, [811, 814, 817]]
]
"""
期待实现效果一:对a进行排序
1.依据a[0][1],a[1][1],a[2][1]的大小,即(19,23,19)从大到小排序,能确定排在第一个的是a[1],也就是 [996, 23, [1, 4, 7]],
2.但a[0][1],a[2][1]数值一样,19,19,这时再比较a[0][0],a[2][0]的大小,即(1093,1069),小的排前,
3.重新排序后a的数据如下:
"""
a_rank= [
[996, 23, [1, 4, 7]],
[1069, 19, [811, 814, 817]],
[1093, 19, [811, 814, 817]]
]
"""
期待实现效果二:遍历a_rank:
1.list = [x , y]
2.x依次为a_rank[0][0],a_rank[1][0],a_rank[2][0],既996,1069,1093
3.y依次为a_rank[0][2][0],a_rank[1][2][0],a_rank[2][2][0],a_rank[0][2][1],a_rank[1][2][1]...既1,811,811,4,814...
4.最终期待的遍历结果如下:
"""
list= [996,1]
list= [1069,811]
list= [1093,811]
list= [996,4]
list= [1069,814]
list= [1093,814]
list= [996,7]
list= [1069,817]
list= [1093,817]
#该怎么实现呢?需要用什么第三方库么

python 指定索引对列表排序,遍历
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 貮叁 2022-04-13 22:02关注
2.如果数值一样(19,19),再比较a[1][0],a[2][1]的大小,即(1069,1093),小的排前
这个就有点看不懂了,哪里来的数值一样(19,19),a[1][0],a[2][1]好像也不是(1069,1093)?本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报