python 学习笔记3 2018-03-31

一、字典

[]  中括号定义列表

() 括号定义元组

{}大括号定义字典

字典是一个可变容器,可存储任意类型

每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割:

d = {key1 : value1, key2 : value2 }

1,定义方法:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

x=dict()

y=dict(a=1,b=3,c='szm')

2,访问方法:

print "dict['name']: ", dict['name'];

print "dict['age']: ", dict['age'];


3,修改字典

dict1['age'] = 20

4,删除字典元素 、 删除字典

删除字典元素: del dict1['name']

删除整个字典:del dict1


5,字典常用方法:

(1) 删除字典内所有元素 :dict.clean()

(2)get(key)方法 返回指定键的值  找不到返回None

(3)has_key(key) 方法 如果key在字典里存在则返回True  否则返回False

(4) keys() 方法  以列表形式返回所有的键

(5)values()方法 以列表形式返回字典中所有的值

(6)copy() 方法 返回一个字段的半深拷贝(复制)

直接复制和copy()的区别  以及深拷贝

dict1 = {'user':'runoob','num':[1,2,3]}

dict2 = dict1            # 浅拷贝: 引用对象     当dict1 改变的时候 dict2也会跟着改变

dict3 = dict1.copy()  # 半深拷贝(拷贝父对象,不会拷贝对象的内部的子对象):深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用   当dict1的(一级目录)'user'改变的时候,dict2不改变 --深拷贝, 当dict1的'num'里面的list改变的时候 dict2也会改变--浅拷贝

改变一级目录的对象值
二级目录依然是引用 dict2 跟着改变

但要注意 以下这种情况依然改的是一级目录  dict2并没有改变


dict2没有改变

深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

深拷贝,需要引入copy模块

(7)dict1.update(dict2)  

把字典dict2的键/值对更新到dict里   类似于字符串的 +

(8)pop(key)  删除  跟del一样

删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值

(9)items()   以列表的形式返回(key,val)元组数组


键值对


键值分开
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第六章:数字 第七章:序列,列表,元组 1.序列 序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量...
    m风满楼阅读 999评论 0赞 2
  • 一、字典基本操作 基本语法:dict = {'ob1':'computer', 'ob2':'mouse', 'o...
    古佛青灯度流年阅读 2,806评论 0赞 1
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 1,198评论 0赞 2
  • 见过我家孩子们的人,都觉得他们可以算是天使娃。所以朋友们经常说,要不你能生三个娃,还自己带,看你家娃多乖! 我回头...
    吴大颠儿阅读 399评论 0赞 0
  • 大学是一个令无数学子毕业依旧憧憬思念的地方,哪怕是平凡鲜为人知的地方,但在学子心里就是深深的根。 在学校时我就喜欢...
    背包小客阅读 649评论 4赞 6

友情链接更多精彩内容