标签: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