一、dict字典
1.定义
(1)概念
字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。其中字典中的键(key)和值(value)必须以冒号隔开,键值对之间以逗号隔开,用花括号{ }将所有键值对括起来形成字典。其格式为{key1:value1,key2:value2}。
注意:字典中键是唯一的不可以重复,但值可以重复出现;如果在一次创建中出现了两个相同的键,则后出现的键对应的值被赋给这个键;键必须不可变,所以可以用数,字符串或元组充当,不可以用列表。
(2)字典的属性
由于保存在字典中的项没有特定的顺序,因此在字典中通过键而非偏移量来读取(与序列的区别);
属于可变映射类型,支持通过索引赋值,可以在原处修改(通过键而非位置)。
2.创建
(1)直接创建字典
利用字典的格式d1={key1:value1,key2:value2}直接创建字典。
(2)dict()函数创建字典
利用dict()函数将其他数据类型转化为字典。
(3)关键字创建字典
采用关键字赋值的方法创建字典。
示例:
d1={'one':1,'two':2,'three':3}
print(d1)
item1=(('one',1),('two',2),('three',3))
d2=dict(item1)
print(type(item1))
print(d2)
item2=dict(one=1,two=2,three=3)
print(item2)
3.字典的方法
(1)字典中值的查询
与序列不同,在字典中对值的索引是通过键而非位置。如果用字典中没有的键访问数据,会出现错误。
示例:
d1={'one':1,'two':2,'three':3}
print(d1['three'])
print(d1['four'])
(2)字典的遍历
通过**“ for…in ”**对字典的遍历包括字典中键(key),值(value)以及元素(item)。
示例:
d1={'name':"Alice",'age':20,'sex':"women"}
for key in d1.keys():
print(key)
for value in d1.values():
print(value)
for item in d1.items():
print(item)
(3)字典格式化字符串
类似于字符串的格式化,在字典中也可以通过key对字典中的value进行格式化。
示例:
d1={'name':'Alice','age':18,'sex':'woman'}
print("%(name)s is there"%d1)
print("she is %(age)d"%d1)
(4)字典元素的添加
方法一:通过键对字典进行元素的新增(当该键对应的值存在时就是修改,不存在时就是添加);
方法二:采用“+”对字典进行合并,在python3中需要用list将字典中的元素转化为列表;还可以通过update()方法对两个字典进行合并,且被合并的字典不会被改变。
示例:
d1={'name':"Alice",'age':20,'sex':"women"}
d1['character']='optimism'
print(d1)
d1['name']='Anna'
print(d1)
d2={'eduction':'undergraduate','racial':"American"}
d3=dict(list(d1.items())+list(d2.items()))
print(d3)
d4={'career':'student'}
d3.update(d4)
print(d3)
print(d4)
(5)字典中元素的删除
方法一:删除整个字典ÿ