python中,x=[1,2],执行y=x[:],里面的x[:]什么意思

原题是这样的:已知列表x=[1,2],执行语句y=x[:]后,表达式id(x)==id(y)的值为Flase。不明白为什么。里面的x[:]什么意思

python中,x=【1,2】,执行y=x【:】,里面的x【:】等价于[1,2] 。

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品,Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言

扩展资料:

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-10
y=x[:] 等价于 y =[1,2] ,但不等价 y = x (这个是引用,id(x)==id(y) 才会是True)
这个你要去补一下“可变、不可变变量”的知识点。本回答被网友采纳
第2个回答  2019-05-11
x[:]表示x的所有元素。y是x的浅拷贝,会使用新的内存地址来存放拷贝值,所以表达式id(x)==id(y)的值为Flase。
第3个回答  2019-05-11
y=x[:]相当于对x列表进行切片,重新生成一个新列表绑定到y这个名字(对象)上,因此区别于浅复制绑定名字会是同一个内存地址。y=[:]这个操作有类似深复制的结果。
第4个回答  2019-05-10
x=y=1
或者
x=(y==1)
你写的非法,无法解释,作者说这样非法就非法,能有什么办法。不要按照`你认为可以的`去写代码,
要按照`可以这么写的`去写代码,好吧。规则是别人定的,你要做的是遵守别人的规则,才能不报错追问

x[:]有别的意思吗,和x[0]或者x[1]意思相同吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网