这是对Python代码的正确解释吗?

时间:2014-11-23 15:09:59

标签: python

这里是一段Python代码:

 while i > 1:
    i = i - 1
    j = randrange(i)  # 0 <= j <= i-1
    items[j], items[i] = items[i], items[j]
 return

我想在我的Pascal项目中使用这个算法。前3行对我来说绝对清楚,但是这个程序在第四行代码中做了什么?它是否将j上保留的随机值分配给数组中的i插槽,然后向左移动(保持右侧的“已使用”值)?

1 个答案:

答案 0 :(得分:1)

Python有一个交换变量的简洁语法:

a,b = b,a

现在a的值为b,反之亦然。你的程序的第四行就是这样做的。