字典
特点:键值对(映射)存储,没有索引,是无序的
语法:大括号括住,内容为键值对(key-value),键值对用冒号连接,每个键值对左边为键(key)右边为(value),键值对之间用逗号分隔
创建
1.类实例化创建,如:dict1 = dict()
2.创建一个空列表,如:dict1 = {}
3.创建时附初始值,如:dict = {‘name’:‘小明’, ‘age’:19}
4.列表嵌套字典,如:student_list = [ {‘name’:‘小明’}, {‘name’:‘小王’},{…} ]
一、添加项
1.dict[‘新键’] = ‘新值’,例如:
dict = {'name':'小明','age':19,'sex':'female'}
dict['work'] = 'student'
print(dict)
2.dict.update()方法:用于将dict2的键值对添加到dict。
语法:dict.update(dict2)
dict = {'Name': 'Maxsu', 'Age': 7}
dict2 = {'Sex': 'female' }
dict.update(dict2)
print (dict)
二、修改项
1.dict[‘键’] = ‘新值’
dict1 = {'name':'小明','age':19,'sex':'miss'}
dict1['name'] = '小月'
print(dict1)
2.dict.update(key1=value1, key2=value2, …)
内存原理: 键名映射指向了新的值,哈希表,字典查询效率比较高
stu_dict = {'name': '小红', 'age': 10}
stu_dict.update(name='小李', age=12)
print(stu_dict)
三、查询项
1.dict[‘key’]
如果键不存在的话,会报错
dict2 = {'name':'小明','age':19,'sex':'miss'}
a = dict2['name']
print(a)
2.get(‘键’,‘默认值’=None)
如果找不到键名不会报错,会返回默认值
dict2 = {'name':'小明','age':19,'sex':'miss'}
a = dict2.get('age','1')
print(a)
3.遍历
用for循环遍历
语法:dict.items() 转换成列表形式
dict = {'name':'小明','age':19,'sex':'miss'}
for x,y in dict.items():
print('键{},值{}'.format(x,y))
dict.keys() 返回一个列表,每一项是字典里的键
dict.values() 返回一个列表,每一项是字典里的值
dict = {'name':'小明','age':19,'sex':'miss'}
for i in dict.keys():
print(i)
dict.__contains__('key') 如果存在返回True ,否则输出False
dict4 = {'name':'小明','age':19,'sex':'miss'}
for i in dict4.items():
print(i)
for i in dict4.keys():
print(i)
for i in dict4.values():
print(i)
# dict4.__contains__('key')
# print(dict4)
print(dict4.__contains__('name'))
四、删除项
1.pop(键) 根据键删除,返回删除成功的值,会把键和值都删除
语法:dict.pop(‘键’)
stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.pop('name'))
2.del 关键字删除,没有返回值,会把键和值都删除
语法:del dict[‘键’]
stu_dict = {'name': '小明', 'age': 10}
del stu_dict['name']
print(stu_dict)
3.删除所有内容
语法:dict.clear()
stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.clear())