python 字典
字典时一种无序的映射集合,包含一系列的键值对。
字典常量常用大括号表示,
例如,{‘name':'John','age':25,'sex':'male'}
其中"name" "age" "sex"为键,字符串"John"和"male"以及25为值
字典的特性
1,字典的键名为不可变类型数据
2,字典的值可以是任意类型
3,字典是无序的,通过键值的映射来访问映射的值
4,字典的长度可变,可以添加或者删除键对
5,字典可以嵌套,也就是键值可以是字典
6,字典的存储是对象的引用,而不是对象本身
1,创建字典
{}
dict()
{1:'John','age':25,'sex':'male'} 数字也可以是键
{'book':{'book':1}} 字典的嵌套
dict(name='Jhon',age=25) 这里数字不能作键
----> {'age':25,'name':'John'}
dict([('name','John')]) 包含键值对元组的列表创建字典
dict.fromkeys(['name','age']) 创建无映射值的字典,默认的键映射值为None
----> {’age':None,'name':None}
dict.fromkeys(['name','age'],0) 创建值相同的字典
dict.fromkeys('abc')
----> {'b':None,'a':None.'c':None}
dict.fromkeys('abs',0)
dict(zip['name','age'],['John',25]))
----> {'age':25,'name':'John'}
The most important
x={}
x['name']=25 这样的建立是最简单的
2,求长度
len()可以返回键值对的个数
3,关系判断
'name' in {'name':'John'}
----> True
键的判断
4,索引
只能通过键来索引
x={'name':'John'}
x['name']
5,修改
通过索引来修改映射值
6,删除
通过索引删除
del x['name']
7,clear(),copy()
x.clear() 删除全部字典对象
y=x 引用同一个对象,修改y的值也改变x的
y=x.copy() 此时y和x互不相干
8,get()
x.get(key[,default[)
若key[存在返回键值
否则返回default[指定值,若default[无则返回None
9,pop(key[,def[)
从字典中删除键对,并返回被删除的映射值,若键不存在则返回def[
若键值不存在且def[未指定参数,删除键会出错
x.pop('name')
----> 'John’
10,popitem()
该方法为返回元组,但并不能写参数,也就是无序调用
且为空字典时会报错setdefa
11,setdefault(key[,def[)
返回键值或者为字典添加键值对
x.setdefault('name',def[)
如果存在'name'则返回键值,否则加入'name' def[映射
def[默认为None
12,update(other)
用另外一个键值对新建或者(同名)覆盖