📂python
🔖python
2022-11-20 00:36阅读: 38评论: 0推荐: 0

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、集合运算

image

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 中国大陆许可协议进行许可。

posted @   风归去  阅读(38)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑