python中-1%5的结果应该是什么
我正在尝试用python编写一个列表旋转函数。我遇到了以下代码:python中-1%5的结果应该是什么,python,Python,我正在尝试用python编写一个列表旋转函数。我遇到了以下代码: def move(p, U): q = [] for i in range(0,len(p)): q.append(p[(i-U)%len(p)]) return q 这很好用。但是我试图弄清楚当len(p)=5和U=1时,为什么会是-1%5=4的结果?它是4。Python%运算符始终为您提供与第二个操作数具有相同符号的余数。谢谢你指出这一点 -1=(5)*(-1)+4 因此,剩余的是4 a%b将返回一个带有b符号的数
def move(p, U):
q = []
for i in range(0,len(p)):
q.append(p[(i-U)%len(p)])
return q
这很好用。但是我试图弄清楚当
len(p)=5
和U=1
时,为什么会是-1%5=4
的结果?它是4
。Python%
运算符始终为您提供与第二个操作数具有相同符号的余数。谢谢你指出这一点
-1=(5)*(-1)+4
因此,剩余的是4
a%b
将返回一个带有b
符号的数字
但是,列表旋转函数最好表示为:
def move(l, n):
n = n % len(l)
return l[n:] + l[:n]
代码不错。当n为负时也有效。