1.字典的创建和删除
2.字典的访问和遍历
3.字典的相关操作
4.字典的生成式
一、字典的创建和删除
字典(dictionary)是一种用于存储键值对(key-value pairs)的数据结构。每个键(key)都映射到一个值(value),并且键必须是唯一的。字典是一种非常灵活和强大的数据结构,广泛用于处理复杂的数据关系。
1.字典创建
可以使用花括号 {} 或者 dict() 函数来创建一个字典。
# 1.使用花括号创建字典
a = {'name': 'Alice', 'age': 30, 'city': 'New York'}
print(a)
# 2.zi函数
l1 = [2,6,9,8,55]
l2 = ['a','e','r','k']
zipobj = zip(l1,l2)
# print(zipobj) # 输出为<zip object at 0x0000013BBF180680>
z2 = dict(zipobj)
print(z2)
# 3.使用 dict() 函数创建字典
b = dict(name='Bob', age=25, city='Los Angeles')
print(b)
t = (5,9,6,8,7)
print({t:10})
t1 = [5,9,6,8,7]
# print({t1:10}) # 报错
# 4字典序列操作
print('max:',max(a))
print('min:',min(a))
print('len:',len(a))
# 5.删除操作
del a
print(a)# 报错
二、字典的访问和遍历
通过键来访问字典中的值
a = {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 访问字典中元素
# 1.a[key]
print(a['city'])
# 2 a.get(key)
print(a.get('city'))
# 3.两者区别 二者之间是有区别的.如果key不存在. d[key]报错d .get(key)可以指定默认值
# print(d['py'])# 报错
print(a.get('py'))# None
print(a.get('py' ,'不存在'))
# 字典的遍历
for i in a.items():
print(i)# key=value组成的一个元素
# 使用for循环遍历时,分别获取key,value
for key,value in a.items():
print(key,'------->',value)
添加或修改键值对:可以通过给字典赋一个新的键值对来添加或修改一个键的值。
a['email'] = 'alice@example.com' # 添加一个新的键值对
a['age'] = 31 # 修改已存在的键的值
三、字典的相关操作
a = {'name': 'Alice', 'age': 30, 'city': 'New York',1001:'李梅'}
print(a)
# 添加和修改
a['200'] = 1002 # 赋值
print(a)
# 获取字典中所有的key
key_s = a.keys()
print(key_s)# dict_keys(['name', 'age', 'city', 1001, '200'])
print(list(key_s))
print(tuple(key_s))
# 获取字典中所有values
value_s = a.values()
print(value_s)# dict_values(['Alice', 30, 'New York', '李梅', 1002])
print(list(value_s))
print(tuple(value_s))
# 将字典中数据转成key-value的形式,以元组的方式输出
lst = list(a.items())
print(lst)
lst1 = dict(lst)
print(lst1)
# 使用pop函数
print(a.pop('city'))
print(a)
print(a.pop('5666','不存在'))
print(a)
# 随机删除
print(a.popitem())
print(a)
# 清空所有元素
a.clear()
print(a)
# 测试空字典布尔类型
print(bool(a))
四、字典的生成式和嵌套
字典生成式的一般形式为:
{key_expression: value_expression for item in iterable}
import random
a ={ i:random.randint(1,1000) for i in range(5)}
print(a)
# 创建两个列表
ls = [11,12,13,14,15,16]
ls1 = ['1001','1002','1003','1004','1005',1006]
a1 = {i:y for i,y in zip(ls,ls1)}
print(a1)
字典的嵌套:字典也可以嵌套,形成更复杂的结构。
# 创建一个嵌套字典
person = {
'name': 'Alice',
'details': {
'age': 30,
'city': 'New York',
'email': 'alice@example.com'
}
}
print(person['details']['city']) # 输出: New York