[英]Python - Modulus between two values
我有一个 theta 值列表,即solve_ivp function 的solve_ivp
我需要获取介于(-pi, pi)
之间的所有值,并被告知使用%
这样做
我知道list%pi
会将所有值放在0
和pi
之间,但是如何在-pi
和pi
之间执行此操作?
非常感谢帮助,谢谢
模运算符不能以这种方式工作。 它给你分裂的提醒。 您只能将其应用于两个数字。 你想要的可能是这样的:
import math
pi = math.pi
filtered_list = [x for x in list if -pi < x < pi]
也不要为你列出一个“列表”。 这是 class list
的名称。 你不想覆盖这个!
如果除数为正,则 python 模%
运算符将返回正数。
所以
pi = 3 # Engineer's pi
x=6.1
y = x % pi # gives 0.1 (ish)
z = -x % pi # gives 2.9 (ish)
您可以将 pi 乘以输入的符号:
from numpy import sign
pi = 3 # close enough
x = -6.1
y = x % pi*sign(x) # gives -2.9 (ish)
因此 y 将始终在 -pi 到 pi 的范围内
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.