collections模块

  • A+
所属分类:Python基础

tuple

  •     可哈希,可以用作dict的key
  •     也可以用来拆包
  •     线程安全,性能优化

namedtuple

  • namedtuple 继承自tuple,也可以拆包
  •     User = namedtuple('Use',['name','age','height'])
  •     user = User(name='ami',age=18,height=177)
  •     user_dict = user._asdict()
  •     print(user.name,user.age,user.height)

defaultDict

  • defaultDict(int)  ----原生的 dict.setdefault(user,0) 可以用来统计列表元素个数
  •     dict = defaultDict(int) //初始化一个字典,赋值时候如果值不存在,默认为0   // 可以传参:可调用的对象
  •     def tmp():
  •         return{ a:'',b:'',c:''}
  •     dict = defaultDict(tmp) #也可以传入一个函数

deque

  •    # 线程安全的
  •     user_deque= deque(['abc','ahh'])  # 传参是可迭代对象,可以传list、tuple。 如果是dict的话,只会把key传入
  •     deque.append()
  •     deque.appendleft()
  •     deque.clear() # 清空
  •     deque.copy() # 浅拷贝
  •     deque.remove()
  •     deque.reverse()

Counter

  •     # 统计,返回个字典
  •     user_counter = Counter('fdwwcgy')
  •     user_counter.update('uuuuu98766')
  •     user_counter.most_common(n) #top n 问题

OrderDict

  •    #可排序字典
  •     user_dict = OrderedDict()
  •     user_dict['b'] = 'abc'
  •     user_dict['a'] = 'aac'
  •     user_dict['c'] = 'cbc'
  •     user_dict.popitem()
  •     user_dict.pop('a')
  •     user_dict.move_to_end('b')  #移动位置

ChainMap

  •     # 连接所有的dict
  •     dict1 = {}
  •     dict2 = {}
  •     new_dict = ChainMap(dict1,dict2)
  •     print(new_dict.maps)   # 以列表的形式展现出来,引用,类似于浅拷贝
  •     for key ,value in new_dict.items():  #重复值会被过滤
  •         print()

 

  • 微信
  • 等你哟
  • weinxin
  • 微信公众号
  • mac软件资源等你来拿
  • weinxin
小羊同学

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: