字典(dict)
dict是一个可以用来存储任意类型数据元素的一个容器类,是以key:value的形式进行存储的,并且可以对字典中的数据进行增删改查操作。
特点:key在字典中式唯一的,没有重复相同的key,key必须是不可变类型的,例(字符串、元组、数字都是不可变的),并且存储的数据是无序的。
1.添加数据
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict1['phone'] = 12345678912
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'sex': '女', 'age': 20, 'phone': 12345678912}
Process finished with exit code 0
2.修改数据
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict1['age'] = 21
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'sex': '女', 'age': 21}
Process finished with exit code 0
3.查询数据 根据key取出值 若key不存在,就会报错
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
result = dict1['age']
print(result)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
20
Process finished with exit code 0
4.查找数据 get() 如果输入的索引不存在,就会返回一个值,而不会报错!
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
result = dict1.get('name')
print(result)
result1 = dict1.get('phone', '您输入的索引不在字典中!')
print(result1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
张三
您输入的索引不在字典中!
Process finished with exit code 0
5.遍历字典
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
for key in dict1:
print('key:{} value:{}'.format(key, dict1[key]))
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
key:name value:张三
key:sex value:女
key:age value:20
Process finished with exit code 0
6.遍历列表 items() 分别取出key和对应的value
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
for key, values in dict1.items():
print('key:{} values:{}'.format(key, values))
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
key:name values:张三
key:sex values:女
key:age values:20
Process finished with exit code 0
7.删除数据 直接根据key删除
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
del dict1['age']
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'sex': '女'}
Process finished with exit code 0
8.删除数据 用pop()函数直接移除数据
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict1.pop('sex')
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'age': 20}
Process finished with exit code 0
9.移除key与values值 返回一个元组
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
result = dict1.popitem()
print(dict1)
print(result)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'sex': '女'}
('age', 20)
Process finished with exit code 0
10.清空字典 clear()
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict1.clear()
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{}
Process finished with exit code 0
11.获取所有key keys()函数 返回一个列表
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
result = dict1.keys()
print(result)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
dict_keys(['name', 'sex', 'age'])
Process finished with exit code 0
12.获取所有的value值 values()函数 返回一个列表
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
result = dict1.values()
print(result)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
dict_values(['张三', '女', 20])
Process finished with exit code 0
13.拷贝字典 copy()函数
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict2 = dict1.copy()
print(dict2)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'sex': '女', 'age': 20}
Process finished with exit code 0
14.更新数据 update() 函数, 两个字典如果有相同的key就更新key对应的值,若没有就添加key和value
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict2 = {'name': '李四', 'sex': '男', 'age': 21, 'phone': 12345678912}
dict1.update(dict2)
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '李四', 'sex': '男', 'age': 21, 'phone': 12345678912}
Process finished with exit code 0
15.添加数据 setdefault() 参数一为key值 参数二为key所对应的值 若不输入参数二,则默认为空即None
dict1 = {'name': '张三', 'sex': '女', 'age': 20}
dict1.setdefault('phone', '12345678912')
print(dict1)
dict1.setdefault('婚否')
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': '张三', 'sex': '女', 'age': 20, 'phone': '12345678912'}
{'name': '张三', 'sex': '女', 'age': 20, 'phone': '12345678912', '婚否': None}
Process finished with exit code 0
16.创建字典 fromkeys()函数 参数一为所有的key 参数二为所有的值,若参数二不输入,则默认为空
keys = ('name', 'sex', 'age')
dict1 = dict.fromkeys(keys, 100)
print(dict1)
dict1 = dict1.fromkeys(keys)
print(dict1)
结果如下:
D:\Python\Python37\python.exe C:/Users/Administrator/Desktop/小娴python/整理/整理CSDN/笔记四.py
{'name': 100, 'sex': 100, 'age': 100}
{'name': None, 'sex': None, 'age': None}
Process finished with exit code 0