Python中a = ['a'], a[:] = ['b'] 和 a = ['b'] 有什麼不同?
前者:把a引用的list的内容清空,填上的内容
后者:让a不要引用原来的list了,转为引用这个对象
■网友
前者是先让a引用一个内容为\u0026#39;a\u0026#39;的list,然后把a引用list的内容改为\u0026#39;b\u0026#39;。
后者是先让a引用一个内容为\u0026#39;a\u0026#39;的list,然后让a引用一个内容为\u0026#39;b\u0026#39;的list。
你可以通过id函数来查看内存位置,就能知道有什么不同了。
■网友
这个问题主要涉及到列表对象赋值跟列表切片问题,第一个与第二个都属于赋值,分别表明a列表中有~"a","b"元素;第三个中应用了列表切片方法!总结,前者应用切片方法赋值,后者就是通过简单对象赋值
■网友
第二个是Python 切片赋值,数据分析经常用到,其他两个就是简单的列表赋值
■网友
提问不明第二个没人用啦,那是复制的意思假如 b = b 的值是因为你的切片没做任何操作,所以他给你返回整个数组希望能帮到你,附加我痛恨python!
■网友from dis import disdef func1(): a = def func2(): a = a = def func3(): a = dis(func1)print \u0026#39;----------------------------------\u0026#39;dis(func2)print \u0026#39;----------------------------------\u0026#39;dis(func3) 4 0 LOAD_CONST 1 (\u0026#39;a\u0026#39;) 3 BUILD_LIST 1 6 STORE_FAST 0 (a) 9 LOAD_CONST 0 (None) 12 RETURN_VALUE ---------------------------------- 7 0 BUILD_LIST 0 3 STORE_FAST 0 (a) 8 6 LOAD_CONST 1 (\u0026#39;b\u0026#39;) 9 BUILD_LIST 1 12 LOAD_FAST 0 (a) 15 STORE_SLICE+0 16 LOAD_CONST 0 (None) 19 RETURN_VALUE ---------------------------------- 11 0 LOAD_CONST 1 (\u0026#39;b\u0026#39;) 3 BUILD_LIST 1 6 STORE_FAST 0 (a) 9 LOAD_CONST 0 (None) 12 RETURN_VALUE 【Python中a = ['a'], a[:] = ['b'] 和 a = ['b'] 有什麼不同?】 1 和 3 是一样的操作 都是新建一个列表并且赋值给a
2 是 python 的语法糖 举个例子a = a = print a
推荐阅读
- 趣头条|【为什么300万人都选帝豪GL】因为有你,每个周末都与众不同
- 概念车|历久弥新 与众不同-B级家轿 英诗派
- 陆毅|三部大戏相继开播“观众缘”各不同
- 怎样成为一名合格的Python程序员?
- python 爬虫,咋获得输入验证码之后的搜索结果
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- 零基础入门学习啥语言好
- 长寿|同样都是吸烟,为啥日本人能够长寿?医生说出几点不同,值得思考
- 喃喃话车|丰田亚洲龙怎么样,级别高性价比偏低,两种人看法不同
- 为啥会有多种通信协议
