python - Numpy方法返回数组中数组出现的索引
问题描述
我有一个表示一组唯一颜色值的数组:
[[0. 0. 0. ]
[0. 0. 1. ]
[0. 1. 1. ]
[0.5019608 0.5019608 0.5019608 ]
[0.64705884 0.16470589 0.16470589]
[0.9607843 0.9607843 0.8627451 ]
[1. 0. 0. ]
[1. 0.84313726 0. ]
[1. 1. 0. ]
[1. 1. 1. ]]
还有另一个代表其中一种颜色的 numpy 数组:
[0.9607843 0.9607843 0.8627451 ]
我需要一个函数来查找颜色数组在颜色集中出现的索引,即该函数应该为上面的数组返回 5。
解决方案
假设这是一个相对较短的颜色列表(<1000),最简单的做法可能就是遍历列表并比较子数组的每个元素。
color_list = ...
color_index = -1
target_color = [0.9607843, 0.9607843, 0.8627451]
for i in range(0, len(color_list)):
cur_color = color_list[i]
if (cur_color[0] == target_color[0] and cur_color[1] = target_color[1] and cur_color[2] = target_color[2]):
color_index = i
break
推荐阅读
- azure - 选择实时 Azure 服务 hdinsight Kafka 还是服务总线?
- python-3.x - 插入“autoload_server”我想使用“server_document”
- java - Java:有没有办法干扰 Collections.sort() 的工作?
- r - R中的水平温度计条闪亮
- node.js - 在 mongodb 中使用字符串日期格式查询
- pyspark - pyspark udf 一次处理多行
- django - Django:ForeignKey 和相关名称
- ios - 在 Swift 中的 Tableviewcell 中格式化数据内容
- android-8.0-oreo - 以编程方式安装或更新 Android 应用程序 android 8
- firebase - 实施 Firebase 规则的最佳方式是什么?我的不工作