码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-08-19 18:00:29      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:rabl   dict   返回   概念   删除   ror   error   cdif   判断   

封装和解构

封装
    将多个值使用逗号分割,组合在一起
    本质上返回一个元组,只是省略了小括号
    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对

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

标签:rabl   dict   返回   概念   删除   ror   error   cdif   判断   

原文地址:http://blog.51cto.com/13886193/2161625

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