Python学习笔记 —— 字典
来源:互联网 发布:标准人体尺寸测量数据 编辑:程序博客网 时间:2024/06/06 23:56
格式
字典是区别于`list`的另一种可变容器类型,可以存储任意类型对象
格式:key为唯一且不可变(如字符串,数字,元组),value无要求
dict = {key:value[,key:value[,key:value]]}
例:
dict = {'name':'joe','age':23,'sex':'male'}
访问字典中的值
格式:
dict[key]
例:
tmpDict = {'name':'joe','age':23,'sex':'male'}tmpDict[‘name’]
修改字典中的值:(添加新键值,删除可修改)
添加
dict[newKey] = value
删除
del dict[key] #清空字典某一条目del dict #删除字典 ,删除后不再可以使用dict.clear #清空字典所有条目
修改
dict[key] = newValue
字典内置函数
cmp(dict1,dict2) :比较两个字典元素type(variable) :返回变量类型(对象都适用)len(dict) :计算字典元素个数,即键(key)的总数str(dict) :输出字典可打印的字符串表示(便于直观观看)
如:
>>> a{'age': '23', 'height': 234, 'sex': 'femal'}>>> str(a)"{'age': '23', 'height': 234, 'sex': 'femal'}"
字典内置方法
1 . dict.clear() :删除字典内所有元素
如:
>>> a{'age': '23', 'height': 234, 'name': 'joe', 'sex': 'femal'}>>> a.clear()>>> a{}
2 . dict.copy() :返回一个字典的浅复制 copy又分为深拷贝及浅拷贝:需要导入类copy 区别: 1. copy:浅拷贝,只拷贝父对象(拷贝之后父对象中的元素便有了一个复本,使用只使用父本,也就是说改了原对象中的非子对象元素不会影响),不会拷贝对象的内部子对象(如果有子对象,则只是对子对象建立引用,改变原对象中的子对象值,复本中也会改变)。 2. deepcopy:深拷贝,拷贝父对象及子对象(使用这个拷贝,会将父对象中的元素及子对象全部生成一个复本,改变原对象中的元素或子对象都不会影响复本)。
例:(在字典中因为key不能改变,不便探究,从list中探究)
#!/usr/bin/python#!-*- coding:UTF-8 -*-import copya = ['name','joe','age',23,['hua','test'],'tuple'] #内部字符串为元素,而列表为子对象b = ac = copy.copy(a) #只对父对象做了复本d = copy.deepcopy(a) #父对象及子对象都做了复本a.append('femal')a[4].append('yohoo')print 'a[4] is c[4] :' + str(a[4] is c[4])print 'a[4] is c[4] :' + str(a[4] is d[4])print aprint bprint cprint d#输出:a[4] is c[4] :True #子对象地址一样,未进行拷贝,只是引用a[4] is c[4] :False #子对象地址不一样,进行了拷贝['name', 'joe', 'age', 23, ['hua', 'test', 'yohoo'], 'tuple', 'femal']['name', 'joe', 'age', 23, ['hua', 'test', 'yohoo'], 'tuple', 'femal']['name', 'joe', 'age', 23, ['hua', 'test', 'yohoo'], 'tuple']['name', 'joe', 'age', 23, ['hua', 'test'], 'tuple'] #与a原来完全一样
3 . dict.fromkeys(seq[,value]) :创建一个新的字典,以序列seq中元素做字典的key,val为字典所有键对应的初始值:
如:
#!/usr/bin/python#!-*- coding:UTF-8 -*-seq = ('name','age','sex')dict = dict.fromkeys(seq)print str(dict)dict = dict.fromkeys(seq,10)print str(dict)#输出{'age': None, 'name': None, 'sex': None}{'age': 10, 'name': 10, 'sex': 10}
4 . dict.get(key,default=None) :返回指定键的值,如果不存在,返回default中的值5 . dict.has_key(key) :如果键在字典中返回true6 . dict.items() :以列表返回可遍历的(键,值)元组列表
例:
>>> a = {'age': 10, 'name': 10, 'sex': 10}>>> a.items()[('age', 10), ('name', 10), ('sex', 10)]
7 . dict.keys() :以列表返回一个字典所有的键
例:
>>> a = {'age': 10, 'name': 10, 'sex': 10}>>> a.keys()['age', 'name', 'sex']
8 . dict.values() :以列表返回字典中的所有值9 . dict.setdefault(key,default=None) :和get类似,如果键不存在于字典中,将会添加键并将值设为default
例:
>>> a = {'age': 10, 'name': 10, 'sex': 10}>>> a.setdefault(‘addNew’,’yes')'yes'>>> a{‘addNew’: 'yes', 'age': 10, 'name': 10, 'sex': 10}
10 . dict.update(dict2) :将字典dict2中的键/值更新到dict中
例:
>>> a = {'age': 10, 'name': 10, 'sex': 10}>>> b = {123:234,54:32}>>> a.update(b)>>> a{'name': 10, 54: 32, 'age': 10, 123: 234, 'sex': 10}
0 0
- python学习笔记——字典
- python学习笔记——字典
- python学习笔记——字典
- Python 字典——学习笔记
- Python 遍历字典——学习笔记
- Python学习笔记 —— 字典
- <7>python学习笔记——字典
- Python学习笔记——字典
- 《Python 基础教程》学习笔记——字典
- python学习笔记 字典
- python-字典学习笔记
- python字典学习笔记
- Python 学习笔记-字典
- Python学习笔记-字典
- Python学习笔记———《字典操作》
- Python学习笔记——第四章 字典
- python 学习笔记——字典(dict)
- Python学习笔记(四)——字典
- Android 退出程序 关闭所有Activity 的方法
- java创建多线程实现的方式
- 2015级C++第16周程序阅读 文件操作
- 文章标题
- 爸第一次来大学
- Python学习笔记 —— 字典
- 函数popen()
- HDU4006
- DrawerLayout的入门
- 服务器nginx+nodejs配置
- iOS应用发布篇一(开发者账号申请)
- 一个32岁入门的70后程序员给我的启示
- matlab 可视化 —— axis
- Python 各种测试框架简介(一):doctest