python课程第三周重点记录

时间:2023-01-18 12:08:25

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