码迷,mamicode.com
首页 > 编程语言 > 详细

python学习第三周总结

时间:2020-04-07 09:24:07      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:amp   ima   car   image   线性结构   def   hash   ems   返回值   

一、Python中的set集合

1、set概念

  • set是可变的、无序的、不重复的元素集合。set的元素及元素里面的元素不能出现不可哈希类型。(即set的元素要求必须可以hash)
  • 常用的不可hash类型有list、set、bytearray
  • set的元素不可索引,但可以迭代

2、set定义

  • 例如: s1 = set()
  • 例如: s2 = set(range(5))
  • 例如: s3 = {‘a’,2,2,3,‘abc’} 等价于set = {‘a’,2,3,‘abc’}。set里面的元素不能重复。

3、set常用操作

  • add(elem) 返回值None #注意只能一次增加一个元素,如果元素存在,则不会添加
  • update(*others) #合并其他元素到set集合中来,others必须是可迭代对象。返回值None 就地修改
  • remove(elem) 从set中移除一个元素,元素不存在,抛出keyError异常
  • deiscard(elem)从set中移除一个元素,元素不存在什么都不做。
  • pop()—>item 随机的从集合中移除一个元素,并返回移除的元素。空集合调用返回keyError异常
  • clear() 移除所有元素
  • set是集合类型,元素唯一,不可修。所谓修改就是“把当前元素改成一个完全不同的元素,就是删除加入一个新元素”
  • set集合是非线性结构,无法索引

4、集合

  • 全集:(并集U、union的意思)所有元素的集合。
  • 子集:(subset和超子集superset)一个集合A所有元素都在另一个集合B内,A是B的子集,B是A的超集
  • 并集:多个集合合并的结果
  • 交集:多个集合的公共部分
  • 差集:集合中除去和其他集合公共部分
  • 真子集和真超集:A是B的子集,且A不等于B,A就是B的真子集,B是A的真超集

5、集合运算符

  • 并集运算符:|
    • 【|】 并集运算符(用union(*others)也可以)(会返回一个新的集合)
    • 【|=】 等同于update方法。多个集合和并,就地修改
    • 并集:将两个集合A和B的所有元素合并到一起
  • 交集运算符: &
    • 【&】等同于intersection 返回多个集合的交集。(会返回新的集合)
    • 【&=】等同于intersection_update获取和多个集合的交集,并就地修改。
    • 交集:集合A和B,由属于B的元素组成的集合
  • 差集运算符: -
    • 【-】等同difference(*others) 返回和多个集合的差集,会返回一个新的集合
    • 【-=】等同difference_update(*others) 获取和多个集合的差集并就地修改
    • 差集:集合A和B,由所有属A且不属于B的元素组成的集合
  • 对称差集: ^
    • 【^】等同于symmetric_differece(other)返回一个新的集合(和另一个集合的差集)

 

二、Python中的dict字典

1、dict字典概念

  • 字典是一个非线性结构,是key-value组成的键值对的数据集合。
  • 字典的特点:可变的、无序的、key不重复。

2、dict字典的定义

  • 【{}或者dict()】可以定义一个空字典

技术图片

  • 【dict(**kwargs)】可以使用name=value键值对,初始化一个字典

技术图片

 

 

  •  【dict(iterable,**kwarg)】使用可迭代对象和name = value度构造字典、不过可迭代对象的元素必须是一个二元结构

技术图片

 

 

  •  【dict(mapping,**kwarg)】使用一个字典构建另一个字典

技术图片

 

 

  • {}直接定义:例如:e = {“a”:10,“b”:20,“c”:30}
  • fromkeys(iterable,value) 【类方法】 #根据建集合初始化一个字典
  1. iterable :为可迭代的键值集合
  2. value:为默认所有建对应的默认值。(可以不写,如果没有默认为None)

技术图片

 

 

 3、元素访问

  • 【d[key]】 返回可用对应的值value,如果可以不存在会抛出keyError异常
  • 【get(key[,default])】 返回key对应的值value,如果key不存在就返回缺省值default,缺失值默认为None
  • 【setdefault(key[,default])】返回key对应的值value,如果key不存在,添加kv对,value设置为default,并返回default,如果default没有设置,则返回None
  • 【keys()】获取字典中所有key的集合
  • 【values()】或者字典中所有值values的集合
  • 【items()】获取字典中所有键值对组成的集合

4、dict字典的常用操作

(1)新增和修改

  • 【d[key] = value】将key对象的值修改为value,如果key不存在就添加新的key对应value
  • 【update([other])—>None】 使用一个字典里面的数据对本字典的更新,如果key不存在就添加,key存在就覆盖已经存在的key对应的值。 就地修改,无返回值

(2)删除

  • 【pop(key[,default])】 将key对应的值删除,并返回key对应的值。如果key不存在就返回缺省值defalut。如果未设置default,并且key不存在会抛出异常keyError
  • 【popitem()】移除并返回任意的键值对,字典为empty空时会抛出异常KeyError
  • 【clear()】清空字典
  • 【del d[key]】 删除指定key的键值对

(3)遍历

  • list(d.keys()) 根据字典的建集合或对应的list集合
  1. 注意:【for i in a.keys() 】等价于【for i in a】或者直接使用如下方法直接遍历出元素和元组
    【for i,k in a.items()】

python学习第三周总结

标签:amp   ima   car   image   线性结构   def   hash   ems   返回值   

原文地址:https://www.cnblogs.com/fjjj/p/12626529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!