python - Python:按二维数组随机返回最大 8 个值
问题描述
我想提取x
不同位置的最大值并保存它们的位置。
[[ 5, 57, 66, 59, 26],
[23, 66, 97, 96, 33],
[31, 63, 69, 55, 20],
[ 2, 77, 37, 85, 40],
[87, 94, 43, 92, 44],
]
谢谢
解决方案
max
与range
数组一起使用是获取最大元素索引的一种方法:
>>> [max(range(len(row)), key=row.__getitem__) for row in m]
[2, 2, 2, 3, 1]
另一种选择是index
在获取最大元素本身之后使用(这效率稍低,因为现在您要扫描每一行两次,但差异是一个常数因素):
>>> [row.index(max(row)) for row in m]
[2, 2, 2, 3, 1]
推荐阅读
- python - Python GET 请求 - 415 不支持的媒体类型
- express - Sequelize 在 Array 上定义关联
- c++ - 使用 Visual Studio 2019 编译 Unicode
- api - India Post API - 如何从 https://data.gov.in/resources/all-india-pincode-directory/api 中提取所有密码
- activiti - 在activiti 7中获取一个流程实例的所有任务
- python - 使用 numpy.arange 方法时应该注意什么?
- python - AttributeError:类型对象“TFLiteConverterV2”没有属性“from_keras_model_file”
- hadoop - 如何通过ambari将组路由到特定的纱线队列?
- angular - 从单个堆栈栏的每个部分获取单击的对象,因为我的堆栈栏有多个部分 Chart.js
- android - 如何在 android studio 中使用 .tflite 模型进行图像分类