我想從 2 個 numpy 陣列制作一個字典,arr1作為字典的鍵和字典的arr2值。我遇到的問題是,我不想簡單地按該順序向鍵添加值,而是在鍵的條件完全滿足時添加特定值arr1。為此,我有另一個 numpy 陣列arr3,它的元素比arr1and多一個arr2,如果一個鍵在實際索引和 的下一個元素之間arr3,[i,i 1)則與實際索引對應的值將是與實際鍵配對的值。
例如:
dict = {}
arr1 = np.array([0,9])
arr2 = np.array([0,5])
arr3 = np.array([0,5,10])
..
dict 應該是 {0:0,9:5}
uj5u.com熱心網友回復:
boundsWithKeyValues = zip(arr3[:-1], arr3[1:], arr1, arr2)
result = {k: v for kMin, kMax, k, v in boundsWithKeyValues if kMin <= k <= kMax}
uj5u.com熱心網友回復:
這將是一種選擇。也許可以用更少的代碼來完成。
import numpy as np
dict_ = {}
arr1 = np.array([0,9])
arr2 = np.array([0,5])
arr3 = np.array([0,5,10])
for i,(k,v) in enumerate(zip(arr1, arr2)):
if arr3[i] <= arr1[i] and arr1[i] < arr3[i 1]:
dict_[k] = v
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/397317.html
標籤:Python 数组 麻木的 字典 numpy-ndarray
上一篇:如何回圈回陣列中的第一項?
下一篇:基于多個屬性過濾js物件陣列
