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