Skip to main content
 首页 » 编程设计

python之这段代码中的运算符 == 和 * 是用来做什么的

2025年05月04日16yyy_WW

我需要了解以下 python 代码片段中运算符的用法。我不熟悉 np.zeros() 语句中 * 的用法。它看起来像 c 中的指针取消引用运算符,但我猜不是。

还有,赋值语句中==的用法是什么?这看起来像是一个相等性测试,但 True 和 False 不是 numpy 数组的有效索引。

new_segs = np.zeros((*raw_segs.shape, 3), dtype=np.uint8) 
i = 0 
for val in [x['handle'] for x in detections]: 
    colors = [(255,0,255), (55,0,55), (34,33,87)] 
    new_segs[raw_segs == val] = colors[i % len(colors)] 

抱歉这个蹩脚的问题。曾尝试寻找答案,但我在搜索运算符使用情况时得到的答案并不令人满意。

请您参考如下方法:

解释了星号* 的解包。 numpy 中的 == 是一个 boolean mask .您传递的数组应该与另一个 numpy 数组的大小相同,但这会告诉它要包含或不包含数组的哪些元素。