Day09.今日总结

1.什么是集合

python内置的容器型数据类型,可变(支持增删),无序(不支持下标操作)
{元素1,元素2,元素3……}
元素要求是不可变并且唯一

set1 = {1, 2, 3, 4, 'abc'}

空集合

set2 = set()

2. 查

集合没有办法单独取出某一个元素,只能遍历

for item in set1:
    print(item)

3.增

集合.add(元素) - 在集合中添加指定的元素

set1.add(200)
print(set1)

集合.add(序列) - 将序列中的元素添加到集合中

set1.update('bcd')
print(set1)

4.删

集合.remove(元素) - 删除集合中指定元素,不存在会报错
集合.clear() - 清空集合

5.改 - 集合不支持改

6.数学的集合运算(集合应用的重点)

包含关系(<=;>=)、交集(&)、并集、差集、补集
1)包含关系
集合1 >= 集合2 - 判断集合1中是否包含集合2
集合1 <= 集合2 - 判断集合2中是否包含集合1
2)并集 (|)
集合1 | 集合2 - 将集合1 与集合2中的元素合并在一起(含去重)
3)交集 (&)
集合1 & 集合2 - 取集合1 与集合2中相同的元素(含去重)
4)差集(-)
集合1 - 集合2 - 除去集合1中集合1与集合2中公共的元素
5)补集
集合1 ^ 集合2 - 除去并集中的交集

7.相关操作

in/ not in
set()

练习:用三个列表表示是那么学科的选课学生姓名,求
1.选课学生总共有多少人 (集合1 | 集合2) | 集合3
2.只选了第一个学科的人的数量 (集合1 - 集合2)- 集合3
3.求只选了一门学科的学生数量 【(集合1 - 集合2)- 集合3】 |【(集合2 - 集合1)- 集合3】 |【(集合3 - 集合2)- 集合1】
4.求只选了两门学科的学生数量 【(集合1 & 集合2)- 集合3】 |【(集合2 & 集合3)- 集合1】|【(集合1 & 集合3)- 集合2】
5.求选了三门学科的学科数量 (集合1 & 集合2)& 集合3
用len()计算集合长度即可求出人数 计算结果本身为学生姓名的集合

1.容器类型:字符串(str)、列表(list)、元祖(tuple)、 字典(dict)、集合(set)

2.特点:

str:不可变,有序
list:可变,有序
tuple:不可变,有序
dict:可变,无序
set:可变,无序

3.值

str: '护士节','\na\t\123\'aaa"345\u1234 '%c' %
list: [元素1,元素2,元素3,元素4……] 元素可以是任何类型的数据,类型可以不以,值可以重复
tuple:(元素1,元素2,元素3,元素4……) 元素可以是任何类型的数据,类型可以不以,值可以重复
dict: {}
set:

4.增

5.删

list del 列表[下标] 、列表.pop()\列表.pop(下标)、列表.remove(元素)
dict del 字典[key] 、字典.pop(key)
set 集合.remove(元素)

6.改

list: 列表[下标] = 新值
dict: 字典[key] = 新值

7.查

str:查单个、切片、遍历
list:查单个、切片、遍历
tuple:查单个、切片、遍历
dict:查单个、遍历
set:遍历

使用
str:文字数据使用字符串(除了数字、和布尔表示其他数据)
list:保存多个具有相同意义的数据
tuple:多个数据的值或者顺序不能变的实惠使用元祖(除了一些特殊意义的值,类似星期,一般不会选择用元祖来作为容器
dict:同时保存多个数据需要区分的时候
set:对其他容器进行容器中数据去重,或者做数学集合运算

你可能感兴趣的:(Day09.今日总结)