字典是Python中常用的数据结构之一,用于存储和操作复杂的数据。
字典(dict/dictionary)是一种数据结构,用于存储键值对
的集合。每个键对应一个值,可以通过键来访问对应的值。字典中的键和值是一一对应的关系,键是唯一的,而值可以是任意类型的数据。字典是一种无序的数据结构,可以根据键来进行快速的查找和访问。字典在Python中用花括号{}
表示,键和值之间用冒号:
隔,多个键值对之间用逗号,
分隔。
格式
:{”键名1“ : ”值”,”键名2” : 值,”键名3” : ”值}
{key1:value1,key2:value2}
代码演示:
dic = {'name': 'Abner', 'age': 21}
print(dic, type(dic)) # {'name': 'Abner', 'age': 21}
特点
:
1.符号为大括号
2.数据为键值对形式出现
3.各个键值对之间用逗号隔开
4.字典的key不能是列表、字典、集合等数据,key只能是不可变类型(字符串、数字、元祖)
5.字典的key具有唯一性 不能被重复,如果被重复,则后面的值会覆盖前面的值
6.字典是可变类型,支持增删改,但是字典是无序的,不存在索引概念
字典的作用
:可以在数据顺序发生变化之后依然可以快速查找到数据,不支持下标操作。
1.1 改
字典[键名] = 值 键名存在就修改原有的,若不存在则新增一个新的键值对
代码如下(示例):
dic = {'name': 'Abner', 'age': 21}
dic['name'] = '小明'
dic['abc'] = '小明'
print(dic) # {'name': '小明', 'age': 21, 'abc': '小明'}
1.2 增
1.2.1 字典[键名] = 值
代码演示:
dic = {'name': 'Abner', 'age': 21}
dic['hobby'] = ['python', 'music', 'read']
print(dic) # {'name': 'Abner', 'age': 21, 'hobby': ['python', 'music', 'read']}
1.2.2 字典.update():添加键值对 需要一个参数,该参数是字典
代码演示:
my_dic = {}
my_dic.update({'a': 1, 'b': 2}) # 一次添加多个键值对
print(my_dic) # {'a': 1, 'b': 2}
1.3 删
1.3.1 del 字典名[键名],删掉指定的键值对
代码演示:
dic = {'name': 'Abner', 'age': 21}
del dic['name']
# del dic['abc'] # 删除不存在报错,KeyError: 'abc'
print(dic) # {'age': 21}
1.3.2 字典.pop(key):根据key删除键值对
代码演示:
dic = {'name': 'Abner', 'age': 21}
dic.pop('name')
print(dic) # {'age': 21}
1.3.3 字典.clear()清除字典里面所有的键值对,返回一个空字典
代码演示:
dic = {'name': 'Abner', 'age': 21}
dic.clear()
print(dic) # {}
1.4 查
1.4.1 字典名[键名] 键名key就相当于列表中的索引,通过key去找value
找不到报错
代码演示:
dic = {'name': 'Abner', 'age': 21}
print(dic['name']) # Anber
1.4.2 字典名.get(键名)
`找不到返回None
dic = {'name': 'Abner', 'age': 21}
print(dic.get('abc')) # 找不到返回一个None
# 应用
if dic.get('abc') == None:
print('没找找到')
代码演示:
dict = {}
# 应用:可以向空字典添加任意元素
代码演示:
dic = {'name': 'Abner', 'age': 21}
print('name' in dic) # True
代码演示:
dic = {1: 'a', 2: 'b'}
print(len(dic))
代码演示:
dic = {'name': 'Abner', 'age': 21}
for key in dic:
print(key, ':', end='')
print(dic[key]) #通过key取value
代码演示:
dic = {'name': 'Abner', 'age': 21}
print(dic.keys()) # dict_keys(['name', 'age'])
for key in dic.keys():
print(key)
代码演示:.
dic = {'name': 'Abner', 'age': 21}
print(dic.values()) # dict_values(['Abner', 21])
for value in dic.values():
print(value)
代码演示:
dic = {'name': 'Abner', 'age': 21}
print(dic.items()) # dict_items([('name', 'Abner'), ('age', 21)])
# 一个大列表里 包含了多个小元祖 每个元祖里有key,value
for t in dic.items():
print(t[0], t[1])
for key, value in dic.items():
print(key, value)
# 两个临时变量 针对dic.items返回列表里所有元祖
善始者实繁,克终者盖寡。——《谏太宗十思疏》
开始能做得好的人很多,而能坚持下去的人却很少。