PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Soft_Job
[請益] 迴圈邏輯問題 (leetcode, python)
作者:
lemonrude
(臉猛魯)
2020-05-24 01:10:31
以下代碼如果用 Default = False
跑迴圈的時候會說 default reference before assignment
https://i.imgur.com/giv72v8.jpg
但如果把 Default 改成一個List 然後指到list 的第0位 卻可以成功執行
請問為什麼python的資料結構只能參照外面的list 跟dic ? 不能參照外面的單一variabl
e嗎?
https://i.imgur.com/uRoopVD.jpg
懇請解惑謝謝!
如果發文在這裡有不妥 請版主刪文
不好意思
作者:
freeunixer
(御劍客)
2020-05-24 01:25:00
你看這個板像 python 板嗎?
作者:
peien0312
(忍耐)
2020-05-24 01:27:00
https://bit.ly/2ZzFRqX
我不是寫python的,不過我猜你需要宣告global才能用,至於陣列是因為那個變數直接指到指標的位置,所以才能直接用,詳細的請其他高手回答
作者:
MOONY135
(談無慾)
2020-05-24 01:38:00
看起來是ref的問題
作者:
CYFer
(cyf994)
2020-05-24 01:39:00
這個問題很有意思,我嘗試回答看看。 python的特性是如果function內部有宣告variable=...這類的,python會把這個變數當成local variable。因此你function外面的default,如果沒有用global 是認不得的。那為什麼dict()或list()可以呢?因為list[idx],其實是在做function call哦!call的是 list.__getitem__ 或 list.__setitem__
作者:
MOONY135
(談無慾)
2020-05-24 01:44:00
http://dokelung.me/category/python/python-evaluation
-strategy/
作者:
CYFer
(cyf994)
2020-05-24 01:56:00
補充一下,python認變數的時候有LEGB原則。你在function 內寫了 default=true,已經讓function把裡面的default認成local variable了,所以以local variable的角度去看你的function, 確實沒有宣告一個創始數值因此報錯~
作者:
drajan
(EasoN)
2020-05-24 02:46:00
Python寫那麼久我也是現在才學到l[i]是function call! 感謝樓上在function內部要使用外部的變數可以加nonlocal這個keyword
作者:
zo6596001
(超帥肥宅)
2020-05-24 11:25:00
python List 預設 Call by reference
作者:
sxy67230
(charlesgg)
2020-05-24 12:45:00
我看了一下,你的gobal明明是bool但是第一個圖functionforloop內的default卻給他一個default[0]==false的條件判斷,這邊邏輯就蠻怪的。python 預設在function 外的宣告就是gobal了......
作者:
CaptPlanet
(ep)
2020-05-24 12:48:00
https://www.google.com/amp/s/www.geeksforgeeks.org
/is-python-call-by-reference-or-call-by-value/amp/
作者:
sxy67230
(charlesgg)
2020-05-24 12:56:00
另外,LEGB的原則是在宣告上的,依次是local func->enclosed->global->buildit,從內找到外,如果python 編譯器都找不到函式宣告才會跳nameError打錯,*變數宣告
作者:
final01
(牛頓運動定律)
2020-05-24 13:06:00
懂點腦好嗎?討論程式碼用貼圖
作者: pptpptppt (暱稱)
2020-05-24 13:17:00
代碼
作者:
jacknotblack
(大飛飛)
2020-05-24 13:24:00
真的看不出這跟soft job有啥關
作者:
wayne12345
(lightrain)
2020-05-24 13:47:00
可以去搜尋variable scope,會有你要的解釋
作者:
splitline
(台ㄎ廢文王)
2020-05-24 15:58:00
代碼
作者:
Saaski
(GreedIsGood)
2020-05-24 17:21:00
代碼
作者:
tttkkk
(學到。)
2020-05-24 18:36:00
在 dfs() 裡的第一行放 global default蠻有趣的觀察,Python 自動將複雜資料結構如List, Dict隱含call by reference 傳入函式了。
作者:
iceman5566
(iceman5566)
2020-05-24 20:05:00
可憐
作者:
kingofsdtw
(ä¸èƒ½é–’下來!!)
2020-05-24 20:23:00
純噓貼圖
作者:
s29940
(阿賜)
2020-05-25 18:18:00
不想變D卡
作者:
rugia813
(rugia)
2020-05-26 15:42:00
回去你們中國的論壇問啊
繼續閱讀
[請益] offer請益
hpyhacking
[請益] nodejs python 實作線上學習網站推薦
kobeman
Fw: [請益] offer請益
AC82853190
[討論] 銀行業研發
yslimit
Re: [請益] 進入博奕遊戲業會被侷限嗎
aoksc
Re: [請益] 想學程式語言
meatbouz
Re: [請益] 進入博奕遊戲業會被侷限嗎
ownlai
[徵才] 紅門互動徵PHP技術主管(60~80K)
sibin
[徵才] 紅門互動徵PHP工程師(38~60K)
sibin
[請益] Offer 請益 (事務所/新創) (代PO)
j19930307
Links
booklink
Contact Us: admin [ a t ] ucptt.com