字典
字典属于无序序列,元素存放无序,是通过哈希方式进行数据存取的,字典是一个可变容器,字典中保存一个个的键值对: key : value。我们通过key来获取对应的值,很类似我们的汉语字典。
- 字典中键必须是唯一的,必须是不可变类型
- 字典查找速度比较快
1 字典的创建
d1 = {} #空字典
d1 = dict() #空字典
d2 = {'name':'麻辣龙虾','taste':'美味'}
d3 = dict(a=1,b=2)
d4 = dict([('a', 1),('b', 2)])
d5 = dict({'a':1,'b':2})
2 字典操作
#存储多个学生的成绩
dict1 = {"jack":78,"hanmeimei":99,"lilei":60}
print(dict1)
#1.元素访问
#获取 语法:字典名[key]
print(dict1["hanmeimei"])
#print(dict1["tom"]) #KeyError: 'tom'
#字典名.get()
result = dict1.get("lilei",'1') # 如果没有lilei这个键,返回默认值1,不会报错
print(result)
#2.添加:当指定的键不存在的时候,则表示添加
dict1["tom"] = 70
print(dict1)
#但是,如果键已经存在,则表示修改value
dict1["jack"] = 50
print(dict1)
#3. 删除 pop 删除并返回指定键对应的值
#注意:通过键,直接删除整个键值对
dict1.pop("jack")
print(dict1)
del dict1['lilei'] #删除键值对,不返回值
dict1.clear() #清空字典
del dict1 #删除整个字典
#4 字典合并
a = {1:'hello'}
b = {2:'world'}
a.update(b)
print(a)
#5.遍历
dict2 = {"jack":78,"hanmeimei":99,"lilei":60}
#方式一:只获取键
for key in dict2:
value = dict2[key]
print(key,value)
#方式二:只获取值
#values,得到的结果是一个列表,当做列表处理
print(dict2.values())
for value in dict2.values():
print(value)
#方式三:同时获取键和值
#items,得到的结果是一个列表,列表中的元素是元组
print(dict2.items()) #[('jack', 78), ('hanmeimei', 99), ('lilei', 60)]
for key,value in dict2.items():
print(key,value)
#方式四
for index,key in enumerate(dict2):
value = dict2[key]
print(index,key,value)
#6.获取键值对的个数
print(len(dict1))
#7.成员操作
d2 = {'name':'麻辣龙虾','taste':'美味'}
print('name' in d2) #判断某个键是否在列表中