Python字典是无序的、可变的,且无重复的,它使用键值对的形式存储数据,字典的键必须是唯一的,但值可以是任意类型的数据,相关函数及其用法如下:
1. 创建字典{ }或dict( )
d = {'name': 'LiHua', 'age': 18, 'gender': 'male'}
or
d = dict(name='LiHua', age=18, gender='male')
print(d)
#输出:{'name': 'LiHua', 'age': 18, 'gender': 'male'}
2. 引用指定键名访问字典中的键值
d = dict(name='LiHua', age=18, gender='male')
name=d['name'] or name=d.get('name',0)
print(name)
#输出:LiHua
#class=d.get(class,0)
#当字典中不存在该键,返回默认值,在上述代码将默认值设为0,返回结果为0
3.判断键名是否存在在字典中
d = dict(name='LiHua', age=18, gender='male')
if 'name' in d:
print('Yes')
else:
print('No')
#输出:Yes
4. 遍历字典中的键名
d = dict(name='LiHua', age=18, gender='male')
for i in d:
print(i)
#输出:name age gender
5.遍历字典中的键值
d = dict(name='LiHua', age=18, gender='male')
for i in d:
print(d.get(i))
#输出:LiHua 18 male
或
d = dict(name='LiHua', age=18, gender='male')
for i in d.values():
print(i)
#输出:LiHua 18 male
6.item( ) 遍历所有键值对
d = dict(name='LiHua', age=18, gender='male')
for i,j in d.items():
print(i,j)
#输出:
name LiHua
age 18
gender male
7. 引用指定键名修改字典中的值:
d = dict(name='LiHua', age=18, gender='male')
d['age']=19
print(d['age'])
#输出:19
8.update( ) 修改多个键值对的值
d = dict(name='LiHua', age=18, gender='male')
d.update({'age': 19, 'gender': 'female'})
print(d['age'],d['gender'])
#输出:19,female
9.del( ) 删除字典中指定的键值对
d = dict(name='LiHua', age=18, gender='male')
del d['age']
print(d)
#输出:{'name': 'LiHua', 'gender': 'male'}
10.pop( ) 删除指定的键值对,并返回对应的值
d = dict(name='LiHua', age=18, gender='male')
age=d.pop('age')
print(age)
#输出:18
print(d)
#输出:{'name': 'LiHua', 'gender': 'male'}
11.clear( ) 方法清空字典
d = dict(name='LiHua', age=18, gender='male')
d.clear()
print(d)
#输出:{}
11. len( ) 获取字典的长度
d = dict(name='LiHua', age=18, gender='male')
length=len(d)
print(length)
#输出:3
12.update( ) 完成字典的合并
d1 = dict(name='LiHua', age=18, gender='male')
d2 =dict(classroom=7, score=95)
d1.update(d2)
print(d1)
#输出:{'name': 'LiHua', 'age': 18, 'gender': 'male', 'classroom': 7, 'score': 95}
13.sorted( ) 函数对字典的键进行排序
d = dict(name='LiHua', age=18, gender='male')
sorted_d = {k: v for k, v in sorted(d.items())}
print(sorted_d)
#输出:{'age': 18, 'gender': 'male', 'name': 'LiHua'}
14.字典推导式
d = {x: x**2 for x in range(5)}
print(d)
#输出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}