首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >r[:] = [r,r,None]表示什么

r[:] = [r,r,None]表示什么
EN

Stack Overflow用户
提问于 2017-08-29 14:50:34
回答 2查看 185关注 0票数 0

我可以在下面看到一些Python代码,但我不知道它的用途/用途?任何回复都将不胜感激!

代码语言:javascript
复制
r = []
r[:] = [r, r, None]
>>> r
>>> [[...], [...], None]
EN

回答 2

Stack Overflow用户

发布于 2017-08-29 14:56:36

r= []

这很简单。将r设置为新的空列表。

r= r,r,无

[r, r, None]是一个列表,其中包含对r引用的列表的两个引用和一个None值。

r[:] =r引用的现有列表中的所有元素替换为赋值的右侧。

结果是r引用了一个包含对其自身的引用的列表。

r >>> [...,...,None]

...表示法意味着Python发现了一个无限循环,它只输出...,而不是进入鼠洞。

这段代码的目的并不明确--我最初的反应是“也许是参加国际混淆Python大赛?”

票数 2
EN

Stack Overflow用户

发布于 2017-08-29 15:08:44

代码语言:javascript
复制
>>> r = []
>>> r[:] = [r, r, None] # You do this

将r赋值给r,这是一种循环链接

尝试访问第0个索引,您将看到以下内容

代码语言:javascript
复制
>>> r[0]
[[...], [...], None]
>>> r[0][0]
[[...], [...], None]
>>> r[0][0][0]
[[...], [...], None]

校样:尝试打印r、r和sooo的ID

代码语言:javascript
复制
>>> id(r[0][0][0])
4508668632
>>> id(r[0][0][0][0])
4508668632
>>> id(r[0][0][0][0][0])
4508668632
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45932511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档