Python中是否存在带偏移量的模运算(modulo)内置函数?
Python中是否存在带偏移量的模运算内置函数?
我想知道Python里有没有内置函数可以计算带偏移量的模运算,比如实现类似mod(23,13,-6) == -3的功能——这里的-6是偏移量,该运算等价于(23 + 6) % 13 - 6 == -3。我知道可以自己定义这个函数,但不确定自定义函数的性能能不能媲美内置函数。
示例代码
d = 13 off = int((d - 1)/2) print([x % d for x in range(d)]) print([(x + off) % d - off for x in range(d)])
输出结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] [0, 1, 2, 3, 4, 5, 6, -6, -5, -4, -3, -2, -1]
更新说明
当偏移量等于(d-1)/2时,还可以用以下写法实现相同效果:
d = 13 print([x - d * round(x/d) for x in range(d)])
对应输出
[0, 1, 2, 3, 4, 5, 6, -6, -5, -4, -3, -2, -1]
内容的提问来源于stack exchange,提问作者azerbajdzan
相关产品推荐
相关产品推荐

