sorted(p, key=lambda pixel: pixel[0]),报错,The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 进程已结束,退出代码1
时间: 2023-10-19 14:31:05 浏览: 51
这个错误可能是因为参数p不是一个列表,而是一个numpy数组。在numpy中,判断数组的真值时需要使用a.any()或a.all(),而在Python中,列表的真值判断是直接判断其包含元素的个数是否为0。因此,如果p是一个numpy数组,则应该先将其转换为列表,再进行排序,例如可以使用p.tolist()将其转换为列表后再进行排序,即:
```
sorted(p.tolist(), key=lambda pixel: pixel[0])
```
或者直接将numpy数组转换为Python列表:
```
sorted(list(p), key=lambda pixel: pixel[0])
```
其中,list(p)可以将numpy数组p转换为Python列表。
阅读全文