for val in OrderedDict.fromkeys(data): TypeError: unhashable type: 'numpy.ndarray'
时间: 2024-03-07 11:47:54 浏览: 37
这个错误通常是由于试图将一个 NumPy 数组作为有序字典 (`OrderedDict`) 的键造成的。因为 NumPy 数组是可变的,所以它们不是可哈希的,不能用作字典的键,也不能用作有序字典的键。如果你需要使用 NumPy 数组作为键,可以考虑将它们转换为元组或其他可哈希的对象。例如,如果你有一个一维的 NumPy 数组 `a`,你可以将它转换为元组,然后用作有序字典的键,如下所示:
```
from collections import OrderedDict
a = np.array([1, 2, 3])
d = OrderedDict.fromkeys([(tuple(a),), 'some value'])
```
这样就可以避免 `TypeError: unhashable type: 'numpy.ndarray'` 错误。
相关问题
for x, y, val in weighted_links: TypeError: cannot unpack non-iterable int object
这个错误是由于你尝试解包一个非可迭代的整数对象导致的。解包操作是将一个可迭代对象按照顺序分配给变量,但是在你的代码中,其中一个变量被赋值为整数类型。
要解决这个问题,你可以检查一下 `weighted_links` 变量的值是否正确,并确保它是一个可迭代对象。你还可以使用 `print(weighted_links)` 来查看它的值,以便找出问题所在。
另外,如果 `weighted_links` 是一个整数,而不是一个可迭代对象,你需要进行相应的更改,以便正确地进行解包操作。例如,你可以修改代码如下:
```python
x = weighted_links
y = None
val = None
```
这样,你就可以将整数值赋给 `x` 变量了。记得根据你的需求修改 `y` 和 `val` 的初始值。
for idx in range(x.size): tmp_val=x[idx]
这段代码是一个循环,用于遍历数组x中的所有元素。其中,x.size表示数组x的大小,即元素个数。for idx in range(x.size)将idx从0到x.size-1(包括0和x.size-1)遍历一遍。在循环中,用x[idx]访问数组x中的第idx个元素,并将其赋值给tmp_val变量。这个循环可以用以下代码来替代:
```
for tmp_val in x:
# 循环体
```
这样的代码更简洁,而且不需要使用索引来访问数组中的元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)