课后作业23,没懂,谁能详细解释一下第5题
>>> s =>>> s.append(s)
请问下面代码执行后,列表 s 的内容是什么?
你得理解将变量与数据进行挂钩的这个行为,我们称之为引用和在列表的最后添加一个元素,并且其内容是指向 s,即自身这两句话都不是很理解
我的答案是],不合理之处在哪?望详解!!!(只学过Python)
这就是无限“套娃” , 自己套自己,自己套自己,s 开始时为 ,而后将 s 加入 s 自身列表中去列表发生改变
而 s 列表中又有 s 列表本身,s 列表本身中又 有 s 列表,也就是 s = ]]]] 这样无限嵌套下去
你的答案,只是将 这个列表加入了 s 中去,而不是 s 本身加入 s 中去
要知道列表是可变元素,你将列表 添加其本身,本身的 s 同时发生改变,而不是最开始的 了,所以大致嵌套是这样:
s = --> s = ] --> s = ]] -->s = ]]] --> s = ]
Twilight6 发表于 2021-7-10 10:27
这就是无限“套娃” , 自己套自己,自己套自己,s 开始时为 ,而后将 s 加入 s 自身列表中去列表发 ...
也就是说append方法可以不用for 和while 语句自身形成循环吗? 飞花落尽 发表于 2021-7-10 10:41
也就是说append方法可以不用for 和while 语句自身形成循环吗?
不是的呀,这里只是把自身添加入自身产生的一种特殊情况,相当于无限嵌套,不是无限添加
就好比你是自身访问自身,而自身中又有自身,你就又访问自身的自身中的自身..... 这样导致的无限嵌套列表
>>> s
]
>>> s
1
>>> s
]
>>> s
1
>>> s
]
Twilight6 发表于 2021-7-10 10:47
不是的呀,这里只是把自身添加入自身产生的一种特殊情况,相当于无限嵌套,不是无限添加
就好比你 ...
嗯,这种特殊情况不称做循环,叫嵌套是吧? 飞花落尽 发表于 2021-7-10 10:54
嗯,这种特殊情况不称做循环,叫嵌套是吧?
嗯嗯~
页:
[1]