繁体   English   中英

Python - 两个值之间的模数

[英]Python - Modulus between two values

我有一个 theta 值列表,即solve_ivp function 的solve_ivp
我需要获取介于(-pi, pi)之间的所有值,并被告知使用%这样做
我知道list%pi会将所有值放在0pi之间,但是如何在-pipi之间执行此操作?

非常感谢帮助,谢谢

模运算符不能以这种方式工作。 它给你分裂的提醒。 您只能将其应用于两个数字。 你想要的可能是这样的:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM