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 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂