python 引用的含义,尤其注意列表跟字典的使用
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 引用的含义,尤其注意列表跟字典的使用的更多相关文章
- Python开发(二):列表、字典、元组与文件处理
Python开发(二):列表.字典.元组与文件处理 一:列表二:元组三:字典四:文件处理 一:列表 为什么需要列表 可以通过列表可以对数据实现最方便的存储.修改等操作.字符串是不能修改的,所以无法 ...
- Python学习,第五课 - 列表、字典、元组操作
本篇主要详细讲解Python中常用的列表.字典.元组相关的操作 一.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 通过下标获取元素 #先定义一个列表 le ...
- NO.2:自学python之路------变量类型、列表、字典
引言 本周初步认识了库,并学习了Python中各种类型的变量和常用操作.并完成了较为完善的用户与商家购物界面设计. 正文 模块: Python有标准库和第三方库.第三方库需要安装才能使用.大量的库可以 ...
- Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)
数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...
- Python强化训练笔记(一)——在列表,字典,集合中筛选数据
列表,字典,集合中根据条件筛选数据,如下所示 列表:[-10,2,2,3,-2,7,6,9] 找出所有的非负数 字典:{1:90,2:55,3:87...} 找出所有值大于60的键值对 集合:{2,3 ...
- python基础(6):列表和字典类型
前面我们所接触的数据类型都是存单个值,今天我们来看看可以存多个值的列表和字典. 预习: 1.有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日 ...
- python之路3-元组、列表、字典、集合
1.元组 特点:一旦创建,内容不可修改,又叫只读列表 a= ('wang','zhang','zhao') print(a.count('zhao')) print(a.index('wang')) ...
- 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 ...
- python 基础-----数字,字符串,列表,字典类型简单介绍
一.第一个python小程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你输 ...
随机推荐
- shell报错:未预期的符号***附近有语法错误
1.安装dos2unix(我的centos命令: yum install dos2unix)2.执行命令:dos2unix 文件名.sh 3.执行命令:bash -n 文件名.sh (检查语法错 ...
- 10 Essential TypeScript Tips And Tricks For Angular Devs
原文: https://www.sitepoint.com/10-essential-typescript-tips-tricks-angular/ ------------------------- ...
- centos7安装ifconfig命令
ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifc ...
- 淘宝JAVA中间件Diamond详解(二)---原理介绍
转:http://blog.csdn.net/anhuidelinger/article/details/70314744 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本 ...
- 更改Eclipse下Tomcat的部署目录
转自:http://kingxss.iteye.com/blog/1741438 前言 今天tomcat启动就报错,后来查原因是因为异常关闭tomcat的原因,需要删除一个sessions.ser的文 ...
- js比较数字相等
示例代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF ...
- 命名空间System.Configuration中不存在类型或命名空间名称ConfigurationManager
C#连接数据库时.这是个非经常见的错误,我刚開始就直接using System.Configuration;还是没能解决,真相是要手动加入这个程序集的引用,在项目右键加入引用选择System.Conf ...
- Hibernate单向“多对一”关联
1. 基于外键关联的单向“多对一”关联是最常见的单向关联其中指定many-to-one的unique="true",为单向“一对一”,不指定就是单向“多对一” <class ...
- 在iis6里使用没有扩展名的mvc
这2天mvc第二个预览终于出来了.赶紧拿过来测试.在装了3.5的虚拟主机上运行正常.应该已经可以到能正常使用的阶段了.不过我前面一篇翻译的文章中说到,如果使用的是iis6的话就只能忍气吞声的使用带扩展 ...
- mac os x 使用scp取代sz rz
在windows下,能够通过secureCRT的sz来下载文件,而用rz来上传文件.在unix/linux下则不必.由于scp命令能够完毕这项目工作. sz file替代方案为:scp usernam ...