所以我已经毕业并获得了 Compsci 学位的所有学分。但是我上个季度的教授刚刚给我发了一封电子邮件,说他在我的一个家庭作业中发现了一些有趣的东西。我忘记了上下文,但我认为这并不重要。我会发布电子邮件交换。
发件人:PROF
收件人:ME
主题:RE:LDA
嗨,学生,
我注意到您的一个作业答案中有一些奇怪的地方:
def swap(i,j):
tmp = i
i = j
j = tmp
return i,j
这行得通,但它有什么问题?
从:ME
到:PROF
主题:RE:LDA
哦,是的,我在用 C 语言思考,难道它不能在 python 中工作:
def swap(i,j):
i,j = j,i
return i,j
然后 Python 将优化堆栈上的交换,完全消除对 tmp 变量的需要。
发件人:PROF
收件人:ME
主题:RE:LDA
这是真的,但有一个更微妙的概念混淆
所以我的问题是:我在这里缺少什么?