「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」
集合和字典都是可变类型!!!
以前的列表是可变类型,字符串和元组都是不可变类型。
散列类型就是集合和字典
1.集合:set 特点:集合中不可添加可变元素。(比如:列表)
set是一个无序的不重复的元素序列。
可以使用大括号{}或者set()函数创建集合。
例:
a = {1,2,3,45,12324}
set(a)
注意:创建一个空集合的时候,不能用a = {},这样是空字典,应该用set()
有交集,并集,差集:::
交集:& 共有的部分
并集:| 所有的部分
差集:- 会减掉共有的部分,保持第一个原集合中的值
(1) {}
注意: (集合会自动去重)
a = {'a','bb','yy','a','fg'}
print(a)
输出:{'a','bb','yy','fg'}
拓展:
快速判断元素是否在集合内。 用in。
print('bb' in a)
如果为True则在,False则不再。
(2) set()
a = set('whuhan')
b = set('zhangxinyi')
print(a) 输出为: {'a','h','n','u','w'} 无序去重复
目的:在做元素的去重操作时可用set()
集合的基本操作:
1.添加元素 add 注意:add必须一个一个加。
a = {'a','bb','yy','fg'}
a.add('zhangxinyi')
print(a) 输出为: {'zhangxinyi','yy','bb','a','fg'}
2.删除元素
(1)remove 指定删除
a = {'a','bb','yy','fg'}
a.remove('bb') 输出为: {'yy','a','fg'}
(2)pop 随机删除
a.pop() 随机删除集合中的一个值
3.改变 update
s = {1,2,3,4,5}
s.update('wuhan') 输出为:{'w','1','a','2','h','3','u','5','n','4'}
4.查
(1)判断是否没有交集,如果没有交集则判断正确,否则错误 isdisjoint
s1 = {1,2,3}
s2 = {3,4,5}
s1.isdisjoint(s2) 输出为False
(2)判断集合s1是否是s2的子集,是就输出True,反之输出False
s1.issubset(s2) 输出为False
(3)判断s1是否是s2的父集 s1.issuperset(s2)
s1.issuperset(s2) 输出为False
拓展:.计算集合元素个数 len()
- a = {'a','bb','yy','fg'} b = set(a) print(len(b)) 输出为:4
开发:获取值长度在一定范围:像a = [12,5,3,2,33],
例如:if len(a)<=2:
2.清空集合 clear()
a = {'a','bb','yy','fg'}
a.clear()
print(a) 输出为:set()
2.三目运算: (可以优化代码)
在计算机语言中,有一种叫做三目运算的表达式,也叫三元表达式。
基本表达式: 变量 = 值1 if 条件 else 值2
如果条件满足,则变量取值1;否则取值2。
举例: 例一:
a = 5
b = 10
c = a if a>b else b 即 如果a>b,c = a;否则,c = b。
例二:
a = 10
if a > 5:
print(True)
else:
print(False)
转化为三目运算表达式:
print(True if a > 5 else False) 即 如果a > 5,就打印True,否则打印False