python3 Collections 模块的Counter类和namedtuple类
2018-03-23 15:44
447 查看
Counter类: http://www.pythoner.com/205.html namedtuple类:https://blog.csdn.net/kongxx/article/details/51553362Counter类用于计数器的应用,namedtuple可以理解为C中的struct,带名字的元组。摘要:Counter类的创建>>> c = Counter() # 创建一个空的Counter类>>> c = Counter('gallahad') # 从一个可iterable对象(list、tuple、dict、字符串等)创建>>> c = Counter({'a': 4, 'b': 2}) # 从一个字典对象创建>>> c = Counter(a=4, b=2) # 从一组键值对创建计数器的更新(update)
>>> c = Counter('which') >>> c.update('witch') # 使用另一个iterable对象更新 >>> c['h'] 3 >>> d = Counter('watch') >>> c.update(d) # 使用另一个Counter对象更新 >>> c['h'] 4elements()方法>>> c = Counter(a=4, b=2, c=0, d=-2)>>> list(c.elements())['a', 'a', 'a', 'a', 'b', 'b']most_common()方法
>>> c = Counter('abracadabra') >>> c.most_common() [('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)] >>> c.most_common(3) [('a', 5), ('r', 2), ('b', 2)]Counter类常用操作
sum(c.values()) # 所有计数的总数 c.clear() # 重置Counter对象,注意不是删除 list(c) # 将c中的键转为列表 set(c) # 将c中的键转为set dict(c) # 将c中的键值对转为字典 c.items() # 转为(elem, cnt)格式的列表 Counter(dict(list_of_pairs)) # 从(elem, cnt)格式的列表转换为Counter类对象 c.most_common()[:-n:-1] # 取出计数最少的n-1个元素 c += Counter() # 移除0和负值
namedtuple类:通过下列例子
from collections import namedtuple# 定义一个namedtuple类型User,并包含name,sex和age属性。User = namedtuple('User', ['name', 'sex', 'age'])# 创建一个User对象user = User(name='kongxx', sex='male', age=21)# 也可以通过一个list来创建一个User对象,这里注意需要使用"_make"方法user = User._make(['kongxx', 'male', 21])print user# User(name='user1', sex='male', age=21)# 获取用户的属性print user.nameprint user.sexprint user.age# 修改对象属性,注意要使用"_replace"方法user = user._replace(age=22)print user# User(name='user1', sex='male', age=21)# 将User对象转换成字典,注意要使用"_asdict"print user._asdict()# OrderedDict([('name', 'kongxx'), ('sex', 'male'), ('age', 22)])
相关文章推荐
- Python中Collections模块的Counter容器类使用教程
- python模块学习之数据结构--collections.counter
- Python中Collections模块的Counter容器类使用教程
- 简单掌握Python的Collections模块中counter结构的用法
- 简单掌握Python的Collections模块中counter结构的用法
- Python collections模块Counter类深入分析
- Python中Collections模块的Counter容器类使用教程
- Python学习笔记(三十三)常用内置模块(2)collections_namedtuple_deque_defaultdict_OrderedDict_Counter
- Python中Collections模块的Counter容器类使用教程
- python3之模块collections
- Python collections模块实例讲解
- python学习笔记7.3-内建模块collections
- python模块collections中namedtuple()的理解
- python collections.Counter
- Python模块 - Collections
- Python collections模块实例讲解
- Python学习笔记-4(模块:collections、itertools、xml)
- Python collections中的Counter作用以及源码分析
- python 基础 —— collections.Counter()
- python collections模块中的双端队列