【发布时间】:2021-11-15 02:02:15
【问题描述】:
所以我有一个二维数组,其中每个元素都是一个字典,如下所示:
[[{"key":"value"},{"key":"othervalue"}],
[{"key":"notvalue"},{"key":"value"}]]
我正在尝试使用它来创建第二个数组,其中每个元素都基于第一个数组的字典的值,所以它看起来像这样:
[[True, True]
[False, True]]
甚至这个:
[["value","othervalue"]
["notvalue","value"]]
但我终其一生都无法弄清楚如何获取字典中的值。现在我正在这样做:
results=numpy.where((old_array=={"key":"value"}) | (old_array=={"key":"othervalue"}))
for i in zip(results[0], results[1]):
new_array[i[0],i[1]]=True
...但我觉得必须有比这更好的方法。是否有一些不错的、简洁的功能可用于我完全丢失的字典数组?还是这只是我必须笨拙地通过的一个?
提前致谢!
【问题讨论】:
-
嗯,你知道如何直接获取单个dict的值吗?你知道如何将函数应用于数组的每个元素(使用 Numpy 而不是显式循环)吗?你能想办法把这两件事放在一起吗?
-
@KarlKnechtel 如果所有这些问题的答案都是肯定的,那么我就不会在这里了,对吗?我对 python 还是很陌生,特别是对于 NumPy。我在弄清楚如何使用整个数组时遇到了很多麻烦。
arr[i][j]["key"]有时似乎有效,但当我尝试遍历数组时无效。 -
嗯,哪个问题的答案是否定的?你有没有尝试学习如何做你不能做的事情?如果是这样,怎么做?例如,您是否尝试将任何内容放入搜索引擎? “
arr[i][j]["key"]似乎有时有效,但在我尝试遍历数组时无效”我们只能告诉您尝试您向我们展示的代码有什么问题。