舍侠 发表于 2022-2-6 08:11:54

23讲课后作业

>>> s =
>>> s.append(s)
>>> s
]
结果我以为是【1,【1】】
可是却是这个?为什么呢?

大马强 发表于 2022-2-6 09:43:50

列表要extend吧
>>> b =
>>> b.extend(b)
>>> b

>>>

舍侠 发表于 2022-2-6 09:55:56

大马强 发表于 2022-2-6 09:43
列表要extend吧

我是不理解,结果为什么是省略号

大马强 发表于 2022-2-6 10:31:09

舍侠 发表于 2022-2-6 09:55
我是不理解,结果为什么是省略号

哈哈哈,这个可能要问下开发者了
我猜可能是你用apped方法逻辑上是对的,但是他更像要你用应该专门的方法extend方法
不能报错那只能给你一个不三不四的结果了(个人猜想{:10_257:})

Twilight6 发表于 2022-2-6 10:46:22

舍侠 发表于 2022-2-6 09:55
我是不理解,结果为什么是省略号


这个是因为列表添加入自身列表后,导致形成一种类似无限循环的情况

在 s 列表 本身 append 入 s 列表自己,那么 此时 s 列表 中 有 s 列表 即:

s = --> s =

又因为 s 列表中的 s 列表元素指向的是 s 本身,那么此时 s = ] 以此类推 s = ]] .....

s = --->s = --->s = ] --->s = ]]--->s = ]]] --->...--->s = ]

即是无限嵌套本身列表,所以 Python 用 省略号表示 无序循环嵌套列表的元素

舍侠 发表于 2022-2-6 15:38:05

大马强 发表于 2022-2-6 10:31
哈哈哈,这个可能要问下开发者了
我猜可能是你用apped方法逻辑上是对的,但是他更像要你用应该专门的 ...

谢谢,明白啦

舍侠 发表于 2022-2-6 15:39:01

大马强 发表于 2022-2-6 10:31
哈哈哈,这个可能要问下开发者了
我猜可能是你用apped方法逻辑上是对的,但是他更像要你用应该专门的 ...

哈哈,可能是
页: [1]
查看完整版本: 23讲课后作业