panghuahua2017 2022-04-13 18:30 采纳率: 57.1%
浏览 83
已结题

python 指定索引对列表排序,遍历


# 数据如下:
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]

#该怎么实现呢?需要用什么第三方库么
  • 写回答

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)?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月15日
  • 已采纳回答 4月13日
  • 赞助了问题酬金5元 4月13日
  • 修改了问题 4月13日
  • 展开全部

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵