(python函数04)zip(*sorted(zip()))
2024-09-07 11:53:01
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))
不知道怎么解释了,以后遇到了这种问题,想到可以这么做就好啦!
最新文章
- html5新增标签及兼容
- SpringMVC下的Shiro权限框架的使用
- SharedPreferences保存用户登录信息
- puppet证书重申
- 性能更好的js动画实现方式---requestAnimationFrame
- 翻译:如何使用CSS实现多行文本的省略号显示
- UIKit中ImageView动画堆叠显示的微调整
- markdown 一分钟入门
- Javaweb之 servlet 开发详解1
- 关于php得到参数数据
- 简单了解 DLL中, .def 文件及C#调用C++方法
- iOS----------The app's Info.plist must contain an NSPhotoLibraryUsageDescription key
- big emoji &; emoji
- 【转】Visual Studio——多字节编码与Unicode码
- linux nfs共享文件
- Ubuntu下安装Google浏览器
- Cracking The Coding Interview 1.3
- 软件工程 week 01
- mysql学习之路_字段类型与属性2
- High-Speed Tracking with Kernelized Correlation Filters