Containers
Set / 集合
集合不能做slice,index等操作;可以做交并和差(补)运算;
ele in set #判断是否在集合中
x & y #and
x | y #or
x - y #not
x ^ y #xor
x = {1,2,3} #集合用花括号括起来
x = set(y) #列表、字符串等转集合,可以去重,不知复杂度如何
set_a.add(x) #add one item
set_a.update([a,b,c]) #add items
set_a.remove(x) #remove,必须在集合中,否则出错
len(set_a)
s.issuperset(t)
s >= t
#测试是否 t 中的每一个元素都在 s 中
s.union(t)
s | t
#返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t)
s & t
#返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s - t
#返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t)
s ^ t
#返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy()
#返回 set “s”的一个浅复制Sequences / 序列
python 中的 list 、tuple 、range 类型可以表示一个序列。
List / 列表
sort
key 接受一个函数,该函数应当能通过作用于一个列表元素获取可比较的排序依据值
使用
reversed可以获取一个翻转的序列拷贝
Dict / 字典
字典的键必须是不可变对象,这包括数字、字符串和元组。
Collections
collections.defaultdict(function_factory),创建一个dict对象,所有value都是function的实例,并且对不存在的key,d[key]也有一个该function实例的默认值。例如,defaultdict(int)创建一个key到int类型的映射,并且每个不存在的key都有一个默认值value:0.
内建转换函数都是工厂函数。例如,int(),long(),float(),complex(),str(), unicode(), basestring(),list(), tuple(), type(), dict(), bool(),set(), frozenset(),object() ,classmethod(),staticmethod(), super(), property(), file()
Last updated
Was this helpful?