python - python中输出-1或0或1的函数
问题描述
是否有一个(修改后的)圆形函数,其中输出可能是 -1,0,1,具体取决于输入最接近的数字是多少?例如0 => 0, -2154 => -1, 10 => 1
目前我正在使用正常的 if else 语句:
if (i==0):
return 0
elif i > 0:
return 1
else:
return -1
但是有什么办法可以使它成为单行代码吗?例如使用一些修改后的轮函数。
解决方案
您可以使用numpy.sign()
import numpy as np
print(np.sign(1.2))
print(np.sign(-3.4))
print(np.sign(0))
输出:
1.0
-1.0
0
没有任何进口:
def sign(i):
return (i>0) - (i<0)
print(sign(1))
print(sign(-3))
print(sign(0))
输出:
1
-1
0
推荐阅读
- python-3.x - 试图从 OptionMenu 中选择选项以使用 tkinter 在嵌套字典中获取多个字典值
- php - MySQL DB 查询抛出错误,说我有语法错误。好像找不到他们?我相信它在查询的列部分
- pyspark - 如何在不使用 StandardScaler 的情况下标准化 PySpark 中的列?
- azure - Azure 数据工厂映射值的一部分
- python - 如何使用 PyCharm Remote Deployment 开发多个包?
- ruby-on-rails - 使用 rspec 测试茧
- html - 使用 CSS 未将 HTML 项目定位在右侧
- javascript - 角度6面包屑不起作用
- ios - SKVideoNode 停止播放 SKAudioNode
- unit-testing - 有没有办法在本地和/或在 CI/CD 中测试 AppSync 代码?