一.特点:
1.符号:{}
2.关键字:dict
3.保存的元素:key:value(键值对)
二.定义:dict1 = {}; dict1 = dict()
三.转换:dict1 = dict(((‘name’,‘Lucy’),(‘age’, 18))) # name : Lucy ; age : 18
元组里面套元组,元组里面套列表;列表里面套元组,列表里面套列表——都行;列表或元组中的元素要成对出现。
四.字典的操作(dict1 = {}):
1.增加:dict1[key] = value #若key与字典中的其它key同名,则会用新值更新字典,即修改操作为 dict1[key] = new_Value
2.查询:dict1[key] #print(dict1[key]) 通过key找值
如果对字典进行遍历 :for i in dict1
print( i )
则返回值为key
3.函数: #items() ; values(); keys(); dict1 = {‘张三’ :95 , ‘李四’:86, ‘王五’ : 92}
a. Items()
For I in dict1.items():
Print( i )
Dict1.items() : [ (‘张三’ :95),(‘李四’:86), (‘王五’ : 92) ]
i为键值对组成的元组 : (‘张三’ :95)
(‘李四’:86 )
(‘王五’ :92)
我们可以用两个变量来分别接收键与值:
例:输出成绩大于90分的人名
for key, value in dict1.items():
If value > 90 :
Print( key )
b. Values() keys()
For I in range dict1.values():
Print( I ) #输出所有值
求平均分:
Scores = dict1.values()
Avg = sum(scores) / len(scores)
Keys()用法同values()。
补充:get()函数查询
dict1.get(key) : 查询是否有此键,若无则返回None,若存在则返回值
dict1.get(key, value): 若无则返回默认值value
4.删除
del dict1[key]; #若不存在此键,则报错
dict1.pop(key,default) ; #若删除成功,则返回value;否则,返回default
dict1.popitem() : 随机删除一个键值对,一般是从最后一项删起
dict1.clear():删除后,该字典不存在
其它函数:
dict1 = {1:‘a’,2:‘c’,3:‘v’}
dict2 = {1:‘m’,4:‘f’}
result = dict1.update(dict2) #用dict2对dict1作更新
结果为:{1:‘m’,2:‘c’,3:‘v’,4:‘v’}
list1 = [1,2,3]
dict1 = dict.fromkeys(list1)
#dict1 = {1:None,2:None,3:None}
dict1 = dict.fromkeys(list1,val)
#dict1 = {1:val,2:val,3:val}