集合、字典和逻辑运算符

一、集合: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 - 逻辑运算符

转载于:https://www.cnblogs.com/nealxyz/p/9475665.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值