如何在Python字典中进行逻辑运算?

Arm*_*_91 -1 python

我有以下字典。

dct = {'hello':1.9,'ciao':1.5,'yes':-2,'no':-3}

Run Code Online (Sandbox Code Playgroud)

我想用 1 替换正值,用 -1 替换负值。

我尝试了很多代码,其中之一如下:

 np.where(dct.values() > 0, 1, 0)
 np.where(dct.values() > 0, -1, 0)
            
Run Code Online (Sandbox Code Playgroud)

然而,它并没有成功。我该怎么做?

谢谢!

Cor*_*mer 7

您可以通过字典理解来实现这一点(不确定您希望如何处理完全等于零,如果您希望发生这种情况)

>>> d = {'hello': 1.9,'ciao': 1.5,'yes': -2,'no': -3}
>>> {k: 1 if v > 0 else -1 for k, v in d.items()}
{'hello': 1, 'ciao': 1, 'yes': -1, 'no': -1}
Run Code Online (Sandbox Code Playgroud)