封装和解构、集合、字典的简介

封装和解构

封装
    将多个值使用逗号分割,组合在一起
    本质上返回一个元组,只是省略了小括号
    t1 = (1,2)   #定义为元组
    t1 = 1,2    #将1和2封装成元组
解构
    把线性结构的元素解开,并顺序的值赋给其他变量
    左边接纳的变量数要和右边解开的元素个数一致

集合set
set 翻译为集合 collection 翻译为集合类型,是一个大概念
set 是可变的、无序的、不重复的元素集合
set可以迭代 , 元素不可以索引
set 的元素要求必须可hash

不可hash的类型有: list、set、bytearray、dict
可hash的类型有 :int、tuple、bytes,string、none、bool、complex

set修改 ( 要么删除,要么加入新的元素)

增加
add(elem)        update(others) 
 删除
remove(elme)    discard(elem)    pop()  -->item        clear()     

集合

并集  union(others)       |   ;  update(others)     |=
交集 intersecton(others)     &    ;    intersectionupdate(others)    &=
差集  difference(others)    -   ;       differentupdate(others)   -=
对称差集 symmetricdifferece(other)    ^   ;    symmetricdifferenceupdate(other)  ^=
issubset(other) 、<=   判断当前集合是否是另一个集合的子集
set1  <  set2       判断set1是否是set2的真子集
issuperse(other)  、 >=   判断当前集合是否是other的超集
set1  >  set2       判断set1是否是set2的真超集
isdisjoint(other)   当前集合和另一个集合没有交集,如果没有交集返回True*

字典dict

key - value 键值对的数据的集合
可变的 、无序的、key不重复

定义、初始化

d = {}或者 d = dict()
dict(kwargs)  使用name = value 对初始化一个字典
    dict(iterable,kwarg)  使用可迭代对象和name = value 对构造字典,不过可迭代对象必须是一个二元结构  d = dict(((1,'a'),(2,'b')))  或者 d = (2,'b'])([1,'a'],[)
dict(mapping,kwarg)使用一个字典构造另一个字典
d = {'a':10,'b':20,'c':None,'d':[1,2,3]
类方法 d = dict.fromkeys(iterable,value)

字典元素的访问

d[key]    
get(key[,default])
setdefault(key[,default]) 

字典增加和修改

d[key] = value 将key对应的值该为value,key不存在添加新的Kv对
update([other])->None   使用另一个字典的Kv对更新本字典,key不存在就添加,key存在覆盖key对应的值,就地修改

字典删除

pop(key[,defalut])  
popitem()  移除并返回任意一个键值对,字典为empty,抛出KeyError异常
clear()   清空字典
del语句       实际上删除的是名称(一个对象的引用)而不是对象

字典遍历

for ... in dict:
遍历key
遍历value
遍历item,即kv对

转载于:https://blog.51cto.com/13886193/2161625

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值