python课本学习第六章
一、字典的概念
#示例代码
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
print(student)
#output:
{'name':'yy','grade1':98.1,'grade':99.2}
字典的特征:
- 字典中的元素是以键值对的形式出现的
- 键可以重复,但是值不能重复
- 键是不可变数据类型,值是可变数据类型
二、字典的创建
#method 1:
dict1 = {} #空字典的创建
#method 2:dict()函数无参构造
items = [('a','b'),('d','e')]
d = dict(items)
#method 3:dict()函数有参构造
d = dict{name = 'xx', grades = 99}
print(d)
#output:
{'name':'xx','grade':99}
三、字典的常用操作
1、计算元素个数
# len()函数
len(dict)
2、访问元素值
#字典通过元素的键来访问值
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
print(items['name'])
#output:yy
#get(键)函数访问值:当不确定字典中是否含有键时
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
ky = get('name')
print(ky)
#output: yy
#字典中不存在键时,不会报错,会返回None
3、修改元素值
字典可以通过键来修改值
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
items['name'] = 'u'
4、添加元素
#method 1:通过键修改值时,如果键不存在,则会在字典中添加该键值对
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
items['name'] = 's'
键值对{'name':'s'}被添加到字典中
#method 2:通过update()函数修改某键对应的值或者添加元素
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
ys = {'a':'b'}
student.update(ys)
5、删除元素
#删除字典中某个元素
#method 1:del 字典名[键]
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
del student['name']
#删除字典中的全部元素,使字典称为空字典
# clear函数()
student.clear()
#删除字典,字典将不存在
# del 字典名
del student
6、复制字典
# copy()函数
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
s = student.copy()
7、成员运算
- 字典中可以使用成员运算符(in、not in)来判断某键是否在字典中
- 该运算符只能判断键是否在字典中,不能判断值是否在字典中
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
print('name' in student)
#output: True
8、设置默认键值对
- setdefault()函数:为字典中某个键设置一个默认值
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
name = student.setdefault('school','uu')
name = student.setdefault('school','yy')#无效操作,因为上一行已经给school键设置了默认值
9、获取字典中的所有键
- keys()函数可以用来获取字典中所有元素的键
print(student.keys())
for key in stdudent.keys():
print(key)
10、获取字典中的所有值
- values()函数可以获取字典中所有元素所对应的值
print(student.values())
for value in stdudent.values():
print(value)
11、获取字典中的所有键值对
- items()函数可以获取字典中所有的键值对
print(student.items())
for item in stdudent.items():
print(item)
12、随机删除元素
- popitem()函数(返回值为元组)可以随机返回并删除一个元素
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
item = student.popitem()
- pop()函数(返回值为值,不是键值对)可以根据指定的键删除元素
student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2}
item = student.pop('name')
四、集合的概念
1、概念
- 集合使用大括号表示,元素类型可以是数字类型、字符串、元组,但不可以是列表、字典
2、分类
- 使用大括号创建的集合属于可变集合
- 不可变集合
3、集合的创建
#通过set()创建可变集合
set1 = set('u')
#通过frozenset()创建不可变集合
fset = frozenset('v')
4、集合的用途——去重
list1 = [1, 1, 2, 2, 3, 4]
set1 = set(list1)
五、集合的常用操作
1、添加元素
# add()函数
set1 = {1, 2, 3}
set1.add(4)
set2 = {5, 6}
set1.update(set2)
2、删除元素
set1 = {1, 2, 3, 4}
# remove()函数:remove()删除不存在时会报错
set1.remove(3)
# discard()函数:discard()删除不存在元素时不会报错
set1.discard(3)
3、集合运算
4、集合的遍历
set1 = {1, 2, 3, 4}
for num in set1:
print(num)
六、字典推导与集合推导
- 字典推导
- 使用大括号包围
- 需要两个表达式,一个生成key,一个生成value,两个表达式之间用冒号隔开
- 结果返回字典
#eg1:
dict1 = {x : x * x for x in range(5)}
#eg2
dict1 = [(86,'china'),(91,'india')]
dict2 = {country : code for code, country in dict1}
print(dict2)
#output:交换城市与序号的顺序
- 集合推导
集合推导与列表推导类似,只需要将中括号改为大括号
set1 = {x * x for x in range(5)}
本文作者:风归去
本文链接:https://www.cnblogs.com/N-lim/p/16907649.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步