如何解决如何从python中的numpy.array字典中获取密钥
我有一本以numpy.array()作为值的字典:
dictionary = {0: array([11,2,0]),1: array([ 2,1,100]),1: array([ 5,10,100])}
我想获取特定值的键,例如:[11,0,2,0]。所以,我写了这段代码:
print(list(a_dictionary.keys())[list(a_dictionary.values()).index([11,0])])
但是它给我一个错误:ValueError:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()
解决方法
您可以使用np.array_equal
检查两个numpy数组是否相等。如果元素匹配,则以下代码将key_needed
设置为字典中的键,如果该numpy数组中没有值key_needed
将为None
。
如果有多个具有相同numpy数组的键,则将仅返回第一次出现的键。
import numpy as np
d={0: np.array([11,2,0]),1: np.array([ 2,1,100]),1: np.array([ 5,10,100])}
value_to_search=[11,0]
value_to_search=np.array(value_to_search)
key_needed=None
for key in d:
if np.array_equal(d[key],value_to_search):
key_needed=key
break
print(key_needed) # 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。