文档章节

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专场竞技,这些书给你加把力!

端午节将至,各地龙舟备战竞技,粽子部队也整装待发。小编掐指一算,这种热闹的时节,是时候展现真正的技(fu)术(li)了! (“Python号”龙舟闪亮登场!) Python作为当下最流行的编程语言...

06/15
0
0
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

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
40分钟前
1
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
2
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
1
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
1
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部