所以我已經畢業並獲得了所有學分我的compsci學位。但是我上個季度的教授給我發了一封電子郵件,說他在我的一項家庭作業中發現了一些有趣的事情。我忘記了上下文,但我認爲它不重要。我會發布電子郵件交換。python中的簡單交換,概念上的混淆
來源:潘宗光
要:ME
主題:RE:LDA
喜的學生,
我注意到一個奇怪的現象在你的作業答案之一:
def swap(i,j):
tmp = i
i = j
j = tmp
return i,j
該作品,但是它有什麼問題?
來源:ME
要:潘宗光
主題:RE:LDA
哦,是啊,我是用C的思維,是不是在Python的工作要做:
def swap(i,j):
i,j = j,i
return i,j
Python會然後在堆棧上優化交換,完全不需要tmp變量。
來源:潘宗光
要:ME
主題:RE:LDA
這是真的,但有一個更微妙的概念上的混淆
所以我的問題是:什麼我在這裏失蹤?
'復位J,i'是他想大概是什麼。 –
嗯,我希望這不是那麼容易... – user1676273
我認爲你的教授完全質疑'swap'的效用。 – nneonneo