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

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 孟德尔随机化混杂因素
  • ¥15 关于react-hook组件用函数控制是否渲染的及时性问题。
  • ¥50 Linux下的软件,要做模块化拆分。进程间通信是否有开源框架可以借用?
  • ¥100 修改原有的MYSQL存储代码,在最右边添加多列数据
  • ¥20 Open Interpreter 使用时报错: still has pending operation at deallocation, the process may crash
  • ¥15 qt中链接动态链接库,调用其中的函数,该函数的参数需要传入回调函数,自己创建的回调函数无法作为参数传递进去
  • ¥15 matlab svm二分类代码问题
  • ¥40 求一款能支持ios15以上的屏蔽越狱插件。比较好用的
  • ¥15 C++ QT对比内存字符(形式不定)
  • ¥30 C++第三方库libiconv 远程安装协助