我最近正在学习如何random.shuffle
在 Python 中使用,我惊讶地发现该函数将变量原地打乱,而没有返回任何内容。这是如何在函数中实现的?查看随机库的源代码没有得到答案。
我如何编写自己的函数来在不重新分配的情况下更改变量?
因为列表是可变的,所以我是有效的。您不能重新分配任何变量,因为它将是新变量。您不能修改不可变的类型变量。您可以修改可变变量。
所以:
>>> def addone(x):
... x += 1
>>> a = 2
>>> addone(a)
>>> a
2
>>> def addone(x):
... x.append(1)
...
>>> l=[2]
>>> addone(l)
>>> l
[2, 1]
>>> def addone(x):
... x = x + [1]
...
>>> li=[2]
>>> addone(li)
>>> li
[2]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7486 次 |
最近记录: |