zip(*sorted(zip()))

用这个玩意儿可以以对两个迭代对象进行排序。

示例代码01

 cnts = [2, 4, 3, 6, 5]
 boundingBoxes = [(730, 20, 54, 85), (651, 20, 53, 85), (571, 20, 53, 85), (492, 20, 53, 85), (412, 20, 53, 85)]
 ​
 # b是zip中的一个元素,不确定是哪个,随机
 (cnts, boundingBoxes) = zip(*sorted(zip(cnts, boundingBoxes),
                                    key=lambda b: b[1][0], reverse=False))
 print(cnts)
 print(boundingBoxes)
  • 根据boundingBoxes中的每个元素的第一个值对cnts进行排序

  • b是指打包后的一个元素,不确定是哪个,随机,比如[2, (730, 20, 54, 85)]

  • reverse = False(默认), 从小到大排序, 否则从大到小

  • key: 根据什么进行排序

运行结果01

 (5, 6, 3, 4, 2)
 ((412, 20, 53, 85), (492, 20, 53, 85), (571, 20, 53, 85), (651, 20, 53, 85), (730, 20, 54, 85))

示例代码02

 cnts = [2, 4, 3, 6, 5]
 boundingBoxes = [(730, 20, 54, 85), (651, 20, 53, 85), (571, 20, 53, 85), (492, 20, 53, 85), (412, 20, 53, 85)]
 ​
 # b是zip中的一个元素,不确定是哪个,随机
 (cnts, boundingBoxes) = zip(*sorted(zip(cnts, boundingBoxes),
                                    key=lambda b: b[0], reverse=False))
 print(cnts)
 print(boundingBoxes)
  • 根据cnts,对boundingBoxes进行排序

运行结果02

 (2, 3, 4, 5, 6)
 ((730, 20, 54, 85), (571, 20, 53, 85), (651, 20, 53, 85), (412, 20, 53, 85), (492, 20, 53, 85))

不知道怎么解释了,以后遇到了这种问题,想到可以这么做就好啦!

 

最新文章

  1. html5新增标签及兼容
  2. SpringMVC下的Shiro权限框架的使用
  3. SharedPreferences保存用户登录信息
  4. puppet证书重申
  5. 性能更好的js动画实现方式---requestAnimationFrame
  6. 翻译:如何使用CSS实现多行文本的省略号显示
  7. UIKit中ImageView动画堆叠显示的微调整
  8. markdown 一分钟入门
  9. Javaweb之 servlet 开发详解1
  10. 关于php得到参数数据
  11. 简单了解 DLL中, .def 文件及C#调用C++方法
  12. iOS----------The app's Info.plist must contain an NSPhotoLibraryUsageDescription key
  13. big emoji & emoji
  14. 【转】Visual Studio——多字节编码与Unicode码
  15. linux nfs共享文件
  16. Ubuntu下安装Google浏览器
  17. Cracking The Coding Interview 1.3
  18. 软件工程 week 01
  19. mysql学习之路_字段类型与属性2
  20. High-Speed Tracking with Kernelized Correlation Filters

热门文章

  1. Java8中一个极其强悍的新特性,很多人没用过(非常实用)
  2. 6.7考试总结(NOIP模拟5)
  3. cmake使用笔记,一些常用的命令
  4. 『心善渊』Selenium3.0基础 — 18、使用Selenium操作浏览器的弹窗
  5. webpack(1)安装环境与解决环境问题
  6. POJ 1222 高斯消元更稳
  7. 12.10File类
  8. JavaScript编写计算器的发展史
  9. 【转载】CentOS-yum安装Docker环境
  10. 网络编程+Python