1.关于set,set是一个无序且不重复的元素集合
s = set(["ss","dd","pp"]) #创建set
s1 = set(["dd","qq"])
s.add("ff") #增加元素
s.pop() #删除一个元素,因为set是无序的,所以删除的元素是随机的
s.remove("ss") #删除指定的元素
s.update(["dd","hh"]) #更新,有则忽略,无则增加
s.clear() #清空元素
s_new = s.union(s1) #s1和s2的并集
s_new = s.difference(s1) #把s中存在而s1中不存在的的元素放到一个新的set中
s_new1 = s.symmetric_difference(s1) #把s中存在s1中不存在,s1中存在s中不存在的元素放到一个新set中
s_new2 = s.intersection(s1) #取s和s1的交集放到一个新的set中
s.difference_update(s1) #把s中存在而s1中不存在的的元素赋值给s
s.symmetric_difference_update(s1) #把s中存在s1中不存在,s1中存在s中不存在的元素赋值给s
s.intersection_update(s1) #取s和s1的交集赋值给s
s_new = s.isdisjoint(s1) #是否没有交集
s_new1 = s.issubset(s1) #s是否是s1的子集
s_new2 = s.issuperset(s1) #s是否包含s1
2.collection系列
计数器(counter)是对字典类型的补充,用于追踪值的出现次数。
c = Counter("abcdsdfsdfasfd") #统计各元素出现的次数,从大到小排列
c1 = c.most_common(5) #取数量大于5的元素赋给新的变量,如没有,取全部数据
c.elements() #c中所有元素的迭代器,用于遍历
c2 = sorted(c.elements()) #把c中所有元素排序,包括重复的,如果直接用c,则过滤重复元素
c.subtract("abcdsdfsdfasfdgh")有序字典(orderedDict)是对字典类型的补充,他记住了字典元素添加的顺序
默认字典(defaultdict) 对字典的类型的补充,他默认给字典的值设置了一个类型。
from collections import defaultdict
my_dict = defaultdict(list) #设置默认字典为list类型,这样可以直接用append给key赋值,如果是普通字典需要先判断是否存在某个Key,不存在要首先赋值,不能直接追加
my_dict["k1"].append("")可命名元组
import collections
Mytuple = collections.namedtuple('Mytuple',['x', 'y', 'z'])
Mytuple.x = 123
Mytuple.y = 456
Mytuple.z = 789