python运算符的操作
程序员文章站
2024-01-02 13:20:58
1. Counter的创建和基本用法from collections import Counter# 传列表创建:统计大家的出生年份分布情况a = Counter([1991, 1993, 1992, 1992, 1993, 1993])# 传字符串创建:统计选择题选项分布情况b = Counter('AADCABDDAC')print('a:', a)print('b:', b)print('a的前二名:', a.most_common(2))# elements()从Count...
1. Counter的创建和基本用法
from collections import Counter
# 传列表创建:统计大家的出生年份分布情况
a = Counter([1991, 1993, 1992, 1992, 1993, 1993])
# 传字符串创建:统计选择题选项分布情况
b = Counter('AADCABDDAC')
print('a:', a)
print('b:', b)
print('a的前二名:', a.most_common(2))
# elements()从Counter对象恢复元素列表情况
# 注意:不包括元素计数小于等于0的元素
print('b中的元素列表:', list(b.elements()))
# values()返回各元素的计数/值列表
print('b中的元素值列表:', b.values(), '合计:', sum(b.values()))
a: Counter({1993: 3, 1992: 2, 1991: 1})
b: Counter({'A': 4, 'D': 3, 'C': 2, 'B': 1})
a的前二名: [(1993, 3), (1992, 2)]
b中的元素列表: ['A', 'A', 'A', 'A', 'D', 'D', 'D', 'C', 'C', 'B']
b中的元素值列表: dict_values([4, 3, 2, 1]) 合计: 10
2. “+”、“-”、“&”、“|”运算
# 传键值对创建:对坐标空间分布进行计算
a = Counter(X=3, Y=2, Z=1)
b = Counter(X=4, Y=-3)
print('a: ', a)
print('b: ', b)
# 求和:会排除结果小于等于0的元素。
print('a + b:', a + b)
# 求差:会排除结果小于等于0的元素。
print('a - b:', a - b)
# 求交集:返回两者共性元素的最小值(不包括小于等于0的元素)
print('a & b:', a & b)
# 求并集:返回全部元素的最大值(不包括小于等于0的元素)
print('a | b:', a | b)
a: Counter({'X': 3, 'Y': 2, 'Z': 1})
b: Counter({'X': 4, 'Y': -3})
a + b: Counter({'X': 7, 'Z': 1})
a - b: Counter({'Y': 5, 'Z': 1})
a & b: Counter({'X': 3})
a | b: Counter({'X': 4, 'Y': 2, 'Z': 1})
3.1 “+”与“update”的区别
a = Counter(X=3, Y=2, Z=1)
b = Counter(X=4, Y=-3)
print('a: ', a)
print('b: ', b)
# 会排除结果小于等于0的元素。
print('a + b: ', a + b)
# 直接对a进行修改,求得的“和”包含小于等于0的元素
a.update(b)
print('update:', a)
a: Counter({'X': 3, 'Y': 2, 'Z': 1})
b: Counter({'X': 4, 'Y': -3})
a + b: Counter({'X': 7, 'Z': 1})
update: Counter({'X': 7, 'Z': 1, 'Y': -1})
3.2 “-”与“subtract”的区别
a = Counter(X=3, Y=2, Z=1)
b = Counter(X=4, Y=-3)
print('a: ', a)
print('b: ', b)
# 会排除结果小于等于0的元素。
print('a - b: ', a - b)
# 直接对a进行修改,求得的“差”包含小于等于0的元素
a.subtract(b)
print('subtract:', a)
a: Counter({'X': 3, 'Y': 2, 'Z': 1})
b: Counter({'X': 4, 'Y': -3})
a - b: Counter({'Y': 5, 'Z': 1})
subtract: Counter({'Y': 5, 'Z': 1, 'X': -1})
3.3 一个小技巧
a = Counter(X=0, Y=1, Z=-1)
# 快速除去Counter对象中值小于等于0的元素
a += Counter() # 或 a -= Counter()
print('a:', a)
a: Counter({'Y': 1})
总结:对列表、元组、字典、字符串等可迭代对象中的元素进行统计、计算时,千万别忘了Counter,使用起来非常方便、高效!
还记得那年在树下的军训吗?教官说:第一排报数。你惊讶地看着教官,教官又大声说了一遍:报数!于是,你极不情愿地转过身去抱住了树!
本文地址:https://blog.csdn.net/weixin_43838715/article/details/111059711
推荐阅读
-
学习python的第十七天(二分法,有名函数,匿名函数,内置函数)
-
学习python的第十八天(模块导入及使用,关键字,模块搜索路径,python文件的两种用途)
-
从7点到9点写的小程序(用了模块导入,python终端颜色显示,用了点局部和全局可变和不可变作用域,模块全是自定义)
-
用Python爬取了拉勾网的招聘信息+详细教程+趣味学习+快速爬虫入门+学习交流+大神+爬虫入门
-
python文件操作相关知识点总结整理
-
腾讯微博的账号登录及api操作
-
python进阶教程之函数参数的多种传递方法
-
python-关于mysql中的位图索引和位片索引问题
-
给Python初学者的一些编程技巧
-
python - 代码是通过uc浏览器,对php网站的sql注入吗?