集合、字典和逻辑运算符
一、集合:set
- 集合中的元素不重复。
可利用这个特性,实现列表去重:
li = [1,1,1,3,2,2,2,3,3]
li = list(set(li))
- 定义方法:两种
s = {1,2,5,8}
s = set((1,2,3)) # 这种方法 往set里面放序列类型。集合不是序列类型,是散列类型
- 方法
- 增
- .add(值)
- 删
- .remove(值) # 一次只能传一个值,即一次只能删一个元素
- .pop() # 随机删除,不传参数
- .clear() # 清除集合,全部删除
- 改
- .update({值1,值2,值3...}) # 更新, 只能传集合或序列类型
- 查
- .isdisjoint # 是否有交集 有则返回False
- .issubset({集合}) # 是否包含于后面的集合 包含于返回Ture
- .issuperset({集合}) # 判断是否包含后面的集合 包含返回Ture
- s & s2 # 交集
- s | s2 # 并集
- s - s2 #差集 前后有顺序之分: 用前面的集合为基础,去掉和后面集合重复的元素。
- 集合的三大特性:
- 唯一性 : 元素不重复
- 无序 : 集合中的元素是无序的,没有索引
- 集合是可变对象
二、字典:dict
- 定义方法 两种
di = {'name':'张三','age':'18',1:(1,2,3)} # 键值对形式
di2 = dict(a=2, name='李四') # 使用dict函数
- 字典在python3.6以后的版本中是有序的
di 返回的是{1:(1,2,3),'age':'18','name':'张三'}
- 查看
- di[键]
-修改和增加
- di[键] = 值 # 把后面的值,赋值给键,从而改变字典中的元素。键不可以变,值可变。
- di[键] = 值 # 同样的方法,如果列表中没有对应的键,那么,将会在字典中增加该对键值。
- 字典的增删改查的方法
- 增
- di2 = di.copy() # 浅复制
- di3 = dict.fromkeys(di) # 把 di 中所有键 取出, 把值变为None 返回新字典。None是关键字,空值。
- di3 = dict.fromkeys([1,2,3]或di, 666) # 把di中的值,或列表(内容变为键了),全部改为所传的值。
- di.setdefault('键') # 有则查,无则增 增的话,这种情况其值为None。
- di.setdefault('键','值') # 有则查,无则增。
- 删
- di.pop(键) # 删除键以及所对应的值
- di.popitem() # 随机删除
- di.clear() # 清空字典
- 改
- di2.update({'age':19})
- 查
- di2.get(键) # 查键所对应的值
- di2.keys() # 查看字典中所有的键
- di2.values() # 查看字典中所有的值
- di2.items() # 取出字典中所有的键和值
- 字典的特性:
- 唯一性:键具有唯一性,不存在两个相同的key
- 有序性:字典从python3.6是有序的
- 可变性:字典是可变对象,但是字典的键(key)必须是不可变对象
- 空字典与空集合
- a = {} # 是空字典
- s = set() # 是空集合
- 集合和字典是散列类型
三、逻辑运算符
- 查看对象类型
- type(object)
- isinstance(objetct,对象类型) # 返还的是Ture或False
- 比较运算符
- == # 等于
- != # 不等于
- >= # 大于等于
- <= # 小于等于
- > # 大于
- < # 小于
- 多个条件 (它们都是关键字)
- 判断语句1 and 判断语句2
- 判断语句1 or 判断语句2
- not 判断语句
- Python中的运算符 (优先级从上到下递减)
| - 算术运算符
| - 比较运算符
| - 赋值运算符
| - 身份运算符
v - 逻辑运算符