a = '12345'
b = a
a = 'sssss'
print('a ===== %s' % a)
print('b ===== %s' % b) 结果:

a ===== sssss
  b ===== 12345

字符串或者数字的引用指向的是一个值的地址


list

a = [1, 2, 3, 4]
b = a
b[1] = 5
print('a ===== %s' % a)
print('b ===== %s' % b) 结果

a ===== [1, 5, 3, 4]
b ===== [1, 5, 3, 4]

list的引用,指向的是列表的地址,并不是列表的内容,这种情况会修改list的本身,不想修改list的本身,请使用copy()

如果要复制的列表中包含了列表, 那就使用 copy.deepcopy()函数来代替


a = [1, 2, 3, 4]

b = a.copy() 

b[0] = 5
print('a ===== %s' % a)
print('b ===== %s' % b)

结果:

a ===== [1, 2, 3, 4]
b ===== [5, 2, 3, 4]


Dictionary 字典

a = {
'a': 1,
'b': 2,
'c': 3
}

b = a
b['b'] = 4
print('a ===== %s' % a)
print('b ===== %s' % b)

结果:

a ===== {'a': 1, 'b': 4, 'c': 3}
b ===== {'a': 1, 'b': 4, 'c': 3}

字典的引用,指向的是字典的地址,并不是字典的内容,这种情况会修改字典的本身,不想修改字典的本身,请使用copy()

如果要复制的列表中包含了列表, 那就使用 copy.deepcopy()函数来代替


a = {
'a': 1,
'b': 2,
'c': 3
}

b = a.copy()
b['b'] = 4
print('a ===== %s' % a)
print('b ===== %s' % b)

结果:

a ===== {'a': 1, 'b': 2, 'c': 3}
b ===== {'a': 1, 'b': 4, 'c': 3}

python 引用的含义,尤其注意列表跟字典的使用的更多相关文章

  1. Python开发(二):列表、字典、元组与文件处理

    Python开发(二):列表.字典.元组与文件处理 一:列表二:元组三:字典四:文件处理 一:列表   为什么需要列表 可以通过列表可以对数据实现最方便的存储.修改等操作.字符串是不能修改的,所以无法 ...

  2. Python学习,第五课 - 列表、字典、元组操作

    本篇主要详细讲解Python中常用的列表.字典.元组相关的操作 一.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 通过下标获取元素 #先定义一个列表 le ...

  3. NO.2:自学python之路------变量类型、列表、字典

    引言 本周初步认识了库,并学习了Python中各种类型的变量和常用操作.并完成了较为完善的用户与商家购物界面设计. 正文 模块: Python有标准库和第三方库.第三方库需要安装才能使用.大量的库可以 ...

  4. Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)

    数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...

  5. Python强化训练笔记(一)——在列表,字典,集合中筛选数据

    列表,字典,集合中根据条件筛选数据,如下所示 列表:[-10,2,2,3,-2,7,6,9] 找出所有的非负数 字典:{1:90,2:55,3:87...} 找出所有值大于60的键值对 集合:{2,3 ...

  6. python基础(6):列表和字典类型

    前面我们所接触的数据类型都是存单个值,今天我们来看看可以存多个值的列表和字典. 预习: 1.有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日 ...

  7. python之路3-元组、列表、字典、集合

    1.元组 特点:一旦创建,内容不可修改,又叫只读列表 a= ('wang','zhang','zhao') print(a.count('zhao')) print(a.index('wang')) ...

  8. Python开发【笔记】:列表转字典

    列表转字典 it = [1,2,3,4] print(dict(zip(it, it))) # {1: 1, 2: 2, 3: 3, 4: 4} it = iter(it) print(dict(zi ...

  9. python 基础-----数字,字符串,列表,字典类型简单介绍

    一.第一个python小程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你输 ...

随机推荐

  1. shell报错:未预期的符号***附近有语法错误

    1.安装dos2unix(我的centos命令: yum install dos2unix)2.执行命令:dos2unix  文件名.sh 3.执行命令:bash  -n  文件名.sh (检查语法错 ...

  2. 10 Essential TypeScript Tips And Tricks For Angular Devs

    原文: https://www.sitepoint.com/10-essential-typescript-tips-tricks-angular/ ------------------------- ...

  3. centos7安装ifconfig命令

    ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifc ...

  4. 淘宝JAVA中间件Diamond详解(二)---原理介绍

    转:http://blog.csdn.net/anhuidelinger/article/details/70314744 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本 ...

  5. 更改Eclipse下Tomcat的部署目录

    转自:http://kingxss.iteye.com/blog/1741438 前言 今天tomcat启动就报错,后来查原因是因为异常关闭tomcat的原因,需要删除一个sessions.ser的文 ...

  6. js比较数字相等

    示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...

  7. 命名空间System.Configuration中不存在类型或命名空间名称ConfigurationManager

    C#连接数据库时.这是个非经常见的错误,我刚開始就直接using System.Configuration;还是没能解决,真相是要手动加入这个程序集的引用,在项目右键加入引用选择System.Conf ...

  8. Hibernate单向“多对一”关联

    1. 基于外键关联的单向“多对一”关联是最常见的单向关联其中指定many-to-one的unique="true",为单向“一对一”,不指定就是单向“多对一” <class  ...

  9. 在iis6里使用没有扩展名的mvc

    这2天mvc第二个预览终于出来了.赶紧拿过来测试.在装了3.5的虚拟主机上运行正常.应该已经可以到能正常使用的阶段了.不过我前面一篇翻译的文章中说到,如果使用的是iis6的话就只能忍气吞声的使用带扩展 ...

  10. mac os x 使用scp取代sz rz

    在windows下,能够通过secureCRT的sz来下载文件,而用rz来上传文件.在unix/linux下则不必.由于scp命令能够完毕这项目工作. sz file替代方案为:scp usernam ...