总结:
1.集合和集合的运算
2.字典和字典的运算及函数
3.集合和字典的应用
一、集合
- 集合是一类容器,元素没有先后顺序,并且元素的值不重复。
- 集合的字面量用花括号{}
{1,5,7}
{‘apple’,‘orange’,‘pear’,‘banana’}
创建集合:
- 直接给变量赋值一个集合字面量
fruit = {‘apple’,‘orange’,‘pear’,‘banana’} - 使用 set()创建一个空集合
emp = set()
注:emp={} #创建一个空字典 - 使用set()将列表或者元组转换成集合
prime = set([1,3,5,7,11])
结果是:
{1,3,5,7,11} - 集合的值不重复
创建集合的时候,python会消除重复的值。
fruit ={‘apple’,‘orange’,‘apple’,‘pear’,‘orange’,‘banana’}
结果是:
{‘apple’,‘pear’,‘banana’,‘orange’}
创建和访问集合的元素:
- 可以用add()和remove()添加和删除集合元素
- 可以用min()、max()、len()和sum()对集合操作。
- 集合内的元素是无序的,所以不能像列表那样通过下标来访问集合元素。
元素、子集、超集和相等判断:
- 如果集合s1中的元素,同样都在集合s2中,则称s1为s2的子集,s2为s1的超集。
- 使用s1.issubset(s2)来判断s1是否为s2的子集。
- 使用s2.issuperset(s1)来判断s1是否为s2的超集。
s1={
2,3,5,7}
s2={
1,2,3,4,5,6,7}
print(s1.issubset(s2))
print(s2.issuperset(s1))
输出:
True
True
使用关系运算符<,<=,>,>=。
- 如果s1是s2的真子集,则s1<s2是True
- 如果s1是s2的子集,则s1<=s2是True
- 如果s1是s2的真超集,则s1>s2是True
- 如果s1是s2的超集,则s1>=s2是True
- 注:s1是s2的真子集的意思是s1是s2的子集,但是s2中至少有一个s1中不存在的元
素;s1是s2的真超集的意思是s1是s2的超集,但是s1中至少有 一个s2中不存在的元
素。
集合运算:
-
通过集合的函数或者运算符进行集合的并集、交集、差集和对称集的集合运算。
-
假设2个集合:s1={2,3,5,7,11},s2={2,3,4,5,6,7},下列给出4种集合运算的示例。
二、字典
- 字典是一个用“键”做索引来存储数据的集合。一个键和它所对应的数据形成字典中的一个条目。
创建字典:
- 用花括号{}来表示,每个元素用冒号分隔键和数据。
students={3180101:‘张三’,3180102:‘李四’,3180105:‘王五’,3180110:‘赵六’} - 可以用{}或者dict()来创建空字典。
用dict()创建字典:
>>>fac=dict([("math","0001"),("python","0002"),("c","0003")])
>>>fac