【发布时间】:2011-11-16 17:21:23
【问题描述】:
在这个程序中,我试图通过从列表中随机选择两个项目并交换它们来对列表进行洗牌,然后重复这个过程几次。
我遇到的问题是我不知道如何交换项目并打印打乱列表。
例如,如果我的两个随机值是 a 和 b,如果我要输入:
a = b
b = a
那么这会将a的值更改为b,但是当它尝试将b更改为a时,不会发生任何更改,因为a已经更改为b。
我认为这可行的唯一方法是同时交换它们,但我不知道交换它们的函数/方法。
另外,如果 a、b 是列表 L 的项目,在我使用它们交换之后
print L
它应该打印更改后的版本吗?我只是问,因为从我的尝试来看,它并没有这样做。
注意我正在尝试通过交换逐步洗牌此列表,而不是使用从随机导入的洗牌功能。
【问题讨论】:
-
当我还是个小伙子的时候,经典的交换方式是使用一个临时变量:tmp=a, a=b, b=tmp - 但是 python 比 BASIC 更聪明! [太蹩脚,不值得回答]