文档章节

python 地址引用的陷阱

山下狮子
 山下狮子
发布于 2014/06/06 09:53
字数 72
阅读 126
收藏 5

source = ["one","two"]
li = []

msg = {}

for index in range(len(source)):
    msg[index] = source[index]
    li.append(msg) #字典是可变类型,每次都是修改原有的字典

print li


source2 = ["one","two"]
li2 = []


for index in range(len(source2)):
    li2.append(
        {index:source2[index]}   #每次都是一个新的字典
    )

print li2

© 著作权归作者所有

共有 人打赏支持
山下狮子
粉丝 24
博文 115
码字总数 58167
作品 0
东城
程序员
私信 提问
加载中

评论(1)

山下狮子
山下狮子
[{0: 'one', 1: 'two'}, {0: 'one', 1: 'two'}]
[{0: 'one'}, {1: 'two'}]
python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域

在 python 中赋值语句总是建立对象的引用值,而不是复制对象。因此,python 变量更像是指针,而不是数据存储区域, 这点和大多数 OO 语言类似吧,比如 C++、java 等 ~ 1、先来看个问题吧: ...

大数据之路
2013/07/21
0
8
python中的引用传递,可变对象,不可变对象,list注意点

python中的引用传递 首先必须理解的是,python中一切的传递都是引用(地址),无论是赋值还是函数调用,不存在值传递。 可变对象和不可变对象 python变量保存的是对象的引用,这个引用指向堆...

PilgrimHui
09/18
0
0
Python基础系列讲解—动态类型语言的特点

前言 在C语言中变量所分配到的地址是内存空间中一个固定的位置,当我们改变变量值时, 对应内存空间中的值也相应改变。在Python中变量存储的机制是完全不一样的,当给一个变量赋值时首先解释...

元宵大师
08/14
0
0
关于函数参数传递,80%人都错了

还记得上一次关于变量作用域文章 :Crossin:全菊变量和菊部变量zhuanlan.zhihu.com 我们在公众号(Crossin的编程教室)里做了个问题投票: 实际的输出我想大家都尝试过了吧,应该是选项二:...

crossin
06/28
0
0
Python 中的 == 与 is 及其他

比较对象值时使用 == 等逻辑操作符,比较的是对象的值;比较对象身份时使用 is 和 is not 操作符,比较的是对象的本身,即可理解为对象的地址,该地址可以由id()函数获得。 理解过程中可以类...

冰雪飞扬
2014/04/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
0
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
0
0
Mybatis 学习笔记四 MyBatis-Plus插件

Mybatis 学习笔记四 MyBatis-Plus插件 maven依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <ve......

晨猫
昨天
2
0
小白带你认识netty(二)之netty服务端启动(下)

承接上一篇小白带你认识netty(二)之netty服务端启动(上),还剩下两步骤:3、注册Selector:将Channel注册到Selector上 和 4、端口的绑定:服务端端口的监听。 3、注册Selector:将Chann...

天空小小
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部