Python字典是一系列的 键___值对,是另一种可变容器模型,且可以存储任意类型对象。如字符串,数字、元组等其他容器模型。
每个键都与对应值相关联,与键相关联的值可以是数字、元组、字符串、列表乃至字典。
一、创建字典:
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号{} 中 ,格式如下所示:
dict = {'name':'jam','age':27,556:['1','2','3']}
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中{}中。键必须独一无二,但值则不必。值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。二、访问字典:
要获取与键相关联的值,可依次指定字典名和放在方括号内的键,如下所示:
1 dict = { 'name':'jam','age':27,556:['1','2','3']} 2 print(dict['name']) 3 print(dict['age']) 4 print(dict[556]) 5 6 #以下为输出结果: 7 >>>jam 8 >>>27 9 >>>['1','2','3']10 11 #如果输入错误的键,结果如下:12 print(dict['number'])13 >>>KeyError:'number'
三、添加键__值对:
1 #直接对字典中不存在的key进行赋值来添加。 2 dic = {} #创建一个空的列表 3 dic['name']='lilei' 4 dic['age']=18 5 print(dic) 6 >>>{ 'name':'lilei','age':18} #输入结果 7 8 #如果key或value都是变量也可以用这种方法 9 key='age'10 value=3011 dic[key]=value12 print(dic)13 >>>{ 'age': 30}
还可以用字典的setdefault方法:
1 dic={}2 dic.setdefault('sex','male')3 print(dic)4 >>>{ 'sex':'male'}5 key='007'6 value='James Bond'7 dic.setdefault(key,value)8 print(dic)9 >>>{ 'sex':'male','007:''James Bond'}
四、修改字典:
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
1 dic={ 'age': 18, '007': 'bangde', 'name': 'lilei', 'sex': 'male'}2 print(dic)3 dic['age']=224 dic['007']='linglingfa'5 print(dic)6 #输出结果7 >>>{ 'age': 18, '007': 'bangde', 'name': 'lilei', 'sex': 'male'}8 >>>{ 'age': 22, '007': 'linglingfa', 'name': 'lilei', 'sex': 'male'}
五、删除字典元素:
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:1 dic={ 'age': 18, '007': 'bangde', 'name': 'lilei', 'sex': 'male'} 2 del dic['name'] #删除字典dic中‘name’的键与值 3 print(dic) 4 dic.clear() #删除字典dic中所有键值,成为空字典 5 print(dic) 6 del dic #删除字典dic 7 print(dic) 8 #输出打印结果 9 >>>{ 'age': 18, '007': 'bangde', 'sex': 'male'}10 >>>{}11 >>>NameError: name 'dic' is not defined
六、字典键的特性:
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:1 dic={ 'age': 18, '007': 'bangde', 'name': 'lilei', 'sex': 'male','name':'liuifang'}2 print(dic['name'])3 4 >>>liufang
2)键必须不可变,可以用数字,字符串或元组充当,用列表就不行,如下实例:
1 dic={[age]: 18, '007': 'bangde', 'name': 'lilei', 'sex': 'male'}2 print(dic)3 4 >>>NameError: name 'age' is not defined
七、字典内置函数&方法:
序号 函数及描述 Python字典包含了以下内置函数: |
1、 #比较两个字典元素。 注意:python3中已经删除了cmp()该函数。 |
2、 #计算字典元素个数,即键的总数。 |
3、 #输出字典可打印的字符串表示 |
4、 #返回输入的变量类型,如果变量是字典就返回字典类型。 |
序号 函数及描述 Python字典包含了以下内置方法: |
1、 #删除字典内所有元素 |
2、 #返回一个字典的浅复制 |
3、 #返回指定键的值,如果值不在字典中返回default值 |
4、 #如果键在字典dict里返回true,否则返回false |
5、 #以列表返回可遍历的(键, 值) 元组数组 |
6、 #以列表返回一个字典所有的键 |
7、 #和get()类似, 但如果键不存在于字典中, 将会添加键并将值设为default |
8、 #把字典dict2的键/值对更新到dict里 |
9、 #以列表返回字典中的所有值 |
10、 #删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
11、 #随机返回并删除字典中的一对键和值。 |