Python 编程操作连载之字符串,列表,字典和集合处理

作者:??黎曼假设???? 时间:2021-08-16 11:27:54 

1.如何统计序列中元素出现的频率并排序?

统计序列中元素出现的频率的结果肯定是一个字典,Key 为序列中的元素而 Value 为元素出现的次数,因此可以先创建一个字典,作为初始的统计结果,并假设初始出现的次数都为0。

对频率结果字典的 Value 进行排序

from random import randint

# 生成包含重复元素的随机序列
nums = [randint(0, 10) for num in range(20)]

# 元素出现次数的统计最终肯定是一个字典,因此可以以元素的Key,出现的次数为Value
count = dict.fromkeys(nums, 0)

# 统计频次
for num in nums:
   count[num] += 1

# 排序方案一
# 根据Value进行排序
_count = sorted(count.values())
# 获取最大的次数
max = _count.pop()
keys = []

# 根据Value获取Key
for k, v in count.items():
   if v == max:
       keys.append(k)

if __name__ == '__main__':

print(nums)
   print(count)
   print(_count)
   print(max)
   print(keys)

Python 编程操作连载之字符串,列表,字典和集合处理

 出现的最大频次为4,且频次为4的元素是9和1

使用 Counter 对象进行排序

# 排序方案二
from collections import Counter
_count = Counter(count)

# 中间代码不变

if __name__ == '__main__':

print(nums)
   print(count)
   print(_count)
   print(_count.most_common())
   # 获取出现频次最高的三个元素
   print(_count.most_common(3))

Python 编程操作连载之字符串,列表,字典和集合处理

2.统计单词次数

import re
from collections import Counter

zen = open('zen.txt').read()
# 分割所有单词
zen = re.split('\W+', zen)
# print(zen)

_zen = Counter(zen)
print(_zen)
_zen_3 = _zen.most_common(3)
print('前三个出现频次最高的词:', _zen_3)

Python 编程操作连载之字符串,列表,字典和集合处理

来源:https://juejin.cn/post/7108003465133031461

标签:Python,字符串,列表,字典
0
投稿

猜你喜欢

  • Python列表对象中元素的删除操作方法

    2023-11-12 01:09:22
  • python实时检测键盘输入函数的示例

    2023-01-27 19:19:28
  • Go语言中DateTime的用法介绍

    2024-04-27 15:31:55
  • 五个提升Python的执行效率的技巧分享

    2021-01-07 09:52:45
  • 适合Python初学者的一些编程技巧

    2022-01-14 11:19:09
  • SQL Server的全文搜索功能

    2024-01-27 20:49:24
  • JS获取checkbox的个数简单实例

    2023-08-20 15:17:55
  • SQL Report Builder 报表里面的常见问题分析

    2024-01-23 19:10:47
  • ASP读取日期单日期自动补零函数代码

    2011-02-20 10:39:00
  • python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件

    2021-03-29 23:02:58
  • python代码实现烟花实例

    2022-09-13 18:09:18
  • Tensorflow实现在训练好的模型上进行测试

    2022-10-04 07:17:00
  • python实现画五角星和螺旋线的示例

    2021-08-30 12:08:51
  • golang 将[]byte转成16进制的实现

    2024-02-17 00:35:03
  • JS数组方法concat()用法实例分析

    2024-04-29 14:08:20
  • Windows下ORACLE 10g完全卸载的方法分析

    2012-07-11 16:09:26
  • Django中模版的子目录与include标签的使用方法

    2022-07-13 03:58:40
  • SQL Server数据表字段自定义自增数据格式的方法

    2024-01-13 03:23:45
  • Vue Router 实现动态路由和常见问题及解决方法

    2024-05-05 09:09:43
  • Python内建类型float源码学习

    2022-05-05 17:07:37
  • asp之家 网络编程 m.aspxhome.com