slice.indices()/collections.Counter笔记
关于slice.indices()
>>> help(slice)
Help on class slice in module builtins: class slice(object)
| slice(stop) # 如果只有一个参数,那么参数表示为结束的下标
| slice(start, stop[, step]) # 如果有两个参数,那么代表开始下标和结束下标
.....
indices()的使用,能够从新定义截取的最大长度
>>> a
'HelloWorld!!!'
>>> b = slice(0, 50, 2)
>>> b
slice(0, 50, 2)
>>> b.indices(len(a)) # 将最大的长度更改为len(a)
(0, 13, 2)
关于collections.Counter用来统计数据
# Counter()统计数据
>>> a
['one', 'two', 'three', 'two', 'three', 'three']
>>> from collections import Counter
>>> a = Counter(a)
>>> a
Counter({'three': 3, 'two': 2, 'one': 1})
# 使用element()来显示Counter()里面的全部内容
# 注意下面使用a和a.elements()遍历的区别
>>> from collections import Counter
>>> a = Counter(a=4, b=2, c=1) # 构建一个a = [a, a ,a, a, b, b, c]
>>> a
Counter({'a': 4, 'b': 2, 'c': 1})
# 值得注意的是,现在a是collections.Counter,但是可以理解为一个{'a': 4, 'b': 2, 'c': 1}字典,他可以想字典一样使用a.items()返回key-value(注意这里说成字典只是为了理解)
>>> for i in a:
... print(i)
...
a
b
c
# 使用a.element()为“itertools.chain”的一个迭代器,返回的是迭代器里面的全部内容,其内容可以看成为“[a, a ,a, a, b, b, c]”
>>> for i in a.elements():
... print(i)
...
a
a
a
a
b
b
c
# 使用most_common(n)返回元素出现最高的n个元素,n如果不写那么就会返回全部的元素
>>> a
Counter({'a': 4, 'b': 2, 'c': 1})
>>> a.most_common(1) # 返回出现最多的一个
[('a', 4)]
# 使用subtract()计算两个Counter()差值(也叫计数),,将其映射到前面的Counter(),输出可以是负值
>>> a = Counter(a=10, b=20, c=5)
>>> b = Counter(a=1, b=12, c=7)
>>> a.subtract(b)
>>> a
Counter({'a': 9, 'b': 8, 'c': -2})
# 使用update()进行两个Counter()进行求和,将其映射到前面的Counter()(结果和"a+b"相同,但是意义不同)
>>> a = Counter(a=10, b=20, c=5)
>>> b = Counter(a=1, b=12, c=7)
>>> a.update(b)
>>> a
Counter({'b': 32, 'c': 12, 'a': 11})
# ‘+’将两个Counter()相加,但是a仍然是a,b仍然是b,组成一个新的Counter()返回
>>> a = Counter(a=10, b=20, c=5)
>>> b = Counter(a=1, b=12, c=7)
>>> a + b
Counter({'b': 32, 'c': 12, 'a': 11})
# ‘-’将两个Counter()相比较,不会产生负值(只有大于0部分),组成一个新的Counter()返回
>>> a - b
Counter({'a': 9, 'b': 8})
# ‘&’获取两个Counter()中的最小值,组成一个新的Counter()返回
Counter({'b': 12, 'c': 7, 'a': 1})
>>> a&b
Counter({'b': 12, 'c': 5, 'a': 1})
# ‘|’获取两个Counter()中的最大值,组成一个新的Counter()返回
>>> a | b
Counter({'b': 20, 'a': 10, 'c': 7})
slice.indices()/collections.Counter笔记的更多相关文章
- python collections.Counter笔记
Counter是dict的子类,所以它其实也是字典.只不过它的键对应的值都是计数,值可以是任意整数.下面是四种创建Counter实例的例子: >>> c = Counter() # ...
- [PY3]——找出一个序列中出现次数最多的元素/collections.Counter 类的用法
问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案 c ...
- collections.Counter类统计列表元素出现次数
# 使用collections.Counter类统计列表元素出现次数 from collections import Counter names = ["Stanley", &qu ...
- faster rcnn报错:TypeError: slice indices must be integers or None or have an __index__ method
https://blog.csdn.net/qq_27637315/article/details/78849756 https://blog.csdn.net/qq_21089969/article ...
- 一道算法题,引出collections.Counter的特殊用法
题目描述: 题目编号:1002. 查找常用字符 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次, ...
- Python:collections.Counter
collections是Python内建的一个集合模块,其中提供了许多有用的集合类: namedtuple:只有属性的简易类 deque:双向增删的List ChainMap:多个字典的链接 Coun ...
- collections --Counter
collections 模块--Counter 目的是用来跟踪值出现的次数.是一个无序的容器类型,以字典的键值对形式存储,其中元素为 key,其计数作为 value.计数值可以是任意的 Integer ...
- python3-知识扩展扫盲易忘-map,collections.Counter()的用法
map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. >> ...
- deque/defaultdict/orderedict/collections.namedtuple()/collections.ChainMap() 笔记
关于deque的使用 collections.deque([list[, max_length]]) # 不限定长度,可随意添加没有上限 >>> from collections i ...
随机推荐
- redis 基础应用
redis 安装 -redis安装 -window的安装 -redis支持5大数据类型 -字符 Memcached 只支持字符串类型 -列表 -字典 -集合 -有序集合 面试题:游戏 ...
- 联想 Lenovo PWR-G60 无线掌中宝拆机
从朋友那里弄了台Lenovo PWR-G60,现在已经停产了,淘宝上某店卖的国产WIFI Pineapple貌似就是拿这个刷的,打算出篇DIY教程 现在人在外地,编程器.热风枪.烙铁工具啥的都没有,更 ...
- JAVA将异常的堆栈信息转成String
有时候我们需要将系统出现异常的堆栈信息显示到异常页面的一个隐藏的DIV内,这样查看源时就可以快速的定位到异常信息.这个时候就要将异常信息转成String. /* * 将异常的堆栈信息转成String ...
- Unity射线检测的用法总结
RayCast 射线检测 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...
- Kubernetes学习
DNS for Services and Pods Services 创建基本的Service kind: Service spec.clusterIP: 为一组相同的服务的Pod集群提供一个虚拟ip ...
- Eclipse实现数据库反向生成实体类(pojo)-------(插件安装和实现步骤的说明)
一.插件安装 1.下载插件: http://jaist.dl.sourceforge.net/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R2008103 ...
- Java 如何实现线程间通信?(notify、join、CountdownLatch、CyclicBarrier、FutureTask、Callable )
转自:https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247486499&idx=1&sn=d3f2d6959df ...
- C# 的AOP实现
闲来无事,做了一个AOP示例,此示例只能捕获方法调用事件,无法动态阻止方法调用的执行.因为取消后构造返回值成了难题,返回null貌似会报错.如果不需要这个功能,其实还是很完美的. 缺点是没有以接口方式 ...
- fastdfs(https://www.jianshu.com/p/1c71ae024e5e)
参考 官方网站:https://github.com/happyfish100/ 配置文档:https://github.com/happyfish100/fastdfs/wiki/ 参考资料:htt ...
- hashCode()方法 和 hash()方法
String str = "abc"; String str1 = "abc"; System.out.println(str == str1); //true ...