首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表分配错误,但打印正确的结果

Python列表分配错误,但打印正确的结果
EN

Stack Overflow用户
提问于 2021-08-05 02:52:17
回答 1查看 30关注 0票数 0

我在leetcode上做这个问题,为什么我打印了正确的结果,但没有得到leetcode中的正确答案?看起来如果我这么做了

代码语言:javascript
复制
nums[:]=list(endArray+frontArray)

然后它就会起作用了。我想是列表分配的问题吧?

EN

回答 1

Stack Overflow用户

发布于 2021-08-05 03:00:08

您已经发现了变量和它们的值之间的区别。Python中的变量总是指向一个值。它引用了一个,但没有包含它。

代码语言:javascript
复制
nums = list(endArray+frontArray)

这段代码创建了一个新的、不相关的列表,并将该列表分配给nums。旧的列表仍然在内存中的某个未修改的地方。您刚刚创建了一个新变量,并将其分配给一个本地变量,该变量无论如何都会被删除。

代码语言:javascript
复制
nums[:] = list(endArray+frontArray)

这是对当前行的所有位置([:])的分配。我们不会创建一个新的列表;我们会覆盖现有列表中的所有值。任何引用前面列表的人都会看到本例中的变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68660052

复制
相关文章

相似问题

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