返回 python 中最常出现的前 n 个字符及其各自的计数

2023-12-11

如何返回前 n 个最常出现的字符及其各自的计数 # 例如'aaaaaabbbbcccc', 2应该返回[('a', 6), ('b', 4)]在Python中

我试过这个

def top_chars(input, n):
    list1=list(input)
    list3=[]
    list2=[]
    list4=[]
    set1=set(list1)
    list2=list(set1)
    def count(item):
        count=0
        for x in input:
            if x in input:
                count+=item.count(x)
        list3.append(count)
        return count

    list2.sort(key=count)

    list3.sort()
    list4=list(zip(list2,list3))
    list4.reverse()
    list4.sort(key=lambda list4: ((list4[1]),(list4[0])), reverse=True)
    return list4[0:n]
    pass

但它不适用于输入 ("aabc",2) 它应该给出的输出是

[('a', 2), ('b', 1)]

但我得到的输出是

[('a', 2), ('c', 1)]

Use collections.Counter();它有一个most_common()的方法只是:

>>> from collections import Counter
>>> counts = Counter('aaaaaabbbbcccc')
>>> counts.most_common(2)
[('a', 6), ('c', 4)]

请注意,对于上述输入和aabc both b and c具有相同的计数,并且两者都可以是有效的顶级竞争者。因为你和Counter按计数排序然后反向键入,c之前已排序b.

如果您不使用反向排序,而是使用negative算作排序键,您可以排序b before c again:

list4.sort(key=lambda v: (-v[1], v[0))

不是那个Counter.most_common()当您要求的物品少于柜台中的钥匙时,实际上会使用排序;它使用一个heapq基于算法而不是只获取前 N 个项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回 python 中最常出现的前 n 个字符及其各自的计数 的相关文章

  • 无法在 PIL 中对 16 位 TIF 应用图像滤镜

    我尝试使用 python 应用图像过滤器PIL http www pythonware com products pil 代码很简单 im Image open fnImage im im filter ImageFilter BLUR 此
  • 我应该如何在 python 中使用 lxml 处理 XLink 引用?

    我被要求编写一些读取 XML 配置文件的脚本 这些文件充分利用 XLink 来包含存储在多个文件中的 XML 例如
  • 计算温度的偏导数(温度的水平平流)

    我想知道哪种方法计算x和y方向温度的偏导数 温度的水平平流 最正确 第二个代码使用温度 纬向风和经向风的数据矩阵 提取温度 T 纬向风分量 u 和经向风分量 v 的数据 import matplotlib pyplot as plt imp
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • Python - 包和设置文件

    我有一个 python 包 需要从我的项目目录中提取设置 这是我的项目当前的结构 Project bin mypackage package files Project myproject project files start py se
  • Accel 无法在 gedit 3 插件中工作

    我试图为 Gedit 3 编写一个使用 GObject 自省的小插件 下面显示的代码的相关部分只是为了建立一个环境 然后我可以将函数放入按钮的回调中 但是 该按钮的加速器不起作用 这段代码有什么问题 我正在使用教程here http www
  • WTForms 中的小数字段舍入

    我有一个包含价格小数字段的表单 如下所示 from flask ext wtf import Form import wtforms from wtforms validators import DataRequired from deci
  • 字母表中的加密和解密 - Python GCSE

    我目前正在尝试为学校编写一个程序 以便加密和解密输入的消息 我需要加密或解密的消息仅在字母表中 没有其他符号或密钥 例如 使用消息车加密输入的偏移量为 5 我希望它输出 afs 有人可以帮忙吗 这是我目前的代码 def find offse
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • 为图例中的点设置固定大小

    我正在制作一些散点图 我想将图例中的点的大小设置为固定的相等值 现在我有这个 import matplotlib pyplot as plt import numpy as np def rand data return np random
  • 如何在树莓派上更新到最新的 python 3.5.1 版本?

    我昨天拿到了 Raspberry Pi 我已经在尝试用它来编写代码了 我有一个计划在其上运行的程序 但它仅与 Python 版本 3 5 0 或 3 5 1 兼容 并且我在互联网上找到的所有内容似乎都已经过时 与 Python 2 有关 或
  • 避免在列表理解中计算相同的表达式两次[重复]

    这个问题在这里已经有答案了 我在列表理解中使用一个函数和一个 if 函数 new list f x for x in old list if f x 0 令我恼火的是这个表达f x 在每个循环中计算两次 有没有办法以更清洁的方式做到这一点
  • Python 类方法的示例用例是什么?

    我读了Python 中的类方法有什么用 https stackoverflow com questions 38238 what are class methods in python for但那篇文章中的例子很复杂 我正在寻找 Pytho
  • 安排 Asyncio 任务每 X 秒执行一次?

    我正在尝试创建一个 python 不和谐机器人 它将每隔 X 秒检查一次活跃会员 并根据会员的在线时间奖励积分 我正在使用 asyncio 来处理聊天命令 这一切都正常 我的问题是找到一种方法来安排每隔 X 秒异步检查一次活动成员 我已经阅
  • 在字典理解中为 locals() 添加下标失败并出现 KeyError [重复]

    这个问题在这里已经有答案了 我对 Python 的奇怪行为感到困惑locals 基本上我想从字典中获取一个项目locals 在字典理解中 但它失败了 这是一个非常基本的事情 所以 gt gt gt foo 123 gt gt gt bar
  • 如何从python导入路径中删除当前目录

    我想使用 Mercurial 存储库hg本身 也就是说 我克隆了 Mercurialhttps www mercurial scm org repo hg https www mercurial scm org repo hg并想运行一些h
  • 在 python 中使用递归替代 len()

    作为 CS1301 问题的一部分 我正在尝试使用递归编写一个函数 该函数将执行与 len 完全相同的操作 但是 我有两个问题 我正在使用全局变量 但我在课程中还没有学到这一点 cs1301 自动评分器告诉我 我的函数返回 26 而不是 13
  • 用于桌面数据库应用程序的 Python 框架

    是否有一个框架可以为Python开发桌面数据库应用程序 一些带有CRUD屏幕的屏幕 我正在寻找类似于 Windows 窗体的东西 能够将 TextField Combos 和其他 UI 隐喻与datasets连接到关系数据库例如 MySQL
  • Python列表问题

    我在使用 python 列表时遇到问题 简化版本是 mylist1 some items in a list mylist2 mylist1 mylist1 pop i mylist insert i item print mylist1
  • Tensorflow ctc_loss_calculator:找不到有效路径

    当运行我的神经网络 双向 LSTM 进行音频识别时 我使用连接主义时间分类 CTC 但在某些时候 训练网络时我几乎每批都会收到来自 Tensorflow 的警告 W tensorflow core util ctc ctc loss cal

随机推荐

  • 检查元素在 DOM 中是否可见

    有什么方法可以检查元素在纯 JS 无 jQuery 中是否可见 那么 给定一个 DOM 元素 我如何检查它是否可见 我试过 window getComputedStyle my element display 但它似乎不起作用 我想知道我应
  • 手机锁定时如何显示弹出活动或对话框?

    我试图在手机锁定时显示活动或对话框 我尝试过使用 WakeLock 但它不起作用 并且只有在手机解锁后我才能看到活动 执行此操作的正确方法是什么 要在不关闭键盘保护的情况下显示活动 请尝试以下操作 getWindow addFlags Wi
  • 设置 ProGuard 来混淆局部变量和参数

    我似乎找不到在被混淆的类的方法内部混淆局部变量的设置 这是我反编译的一个类的摘录 其中有一些明显缺失的部分 理想情况下 方法的参数和局部变量也将被混淆 public class eA extends gu private final gt
  • SKAction playSoundFileNamed 来自 Singleton

    我有几个级别都使用相同的音效 我没有在每个级别都使用相同的代码 而是将所有声音合并到一个单例类中 但是 当我从其他类运行该方法时 将其放在单例中不会播放声音 我没有任何错误或警告 当我在每个类中都有相同的代码时 我播放声音没有问题 问题 D
  • Mac 上的 Java 类路径是如何设置的?

    Mac 上的 Java 类路径是如何设置的 既然您用以下标签标记了问题tomcat 我假设您正在运行 Java Servlet Web 应用程序 在这种情况下 类路径覆盖了 JAR 文件 WEB INF libwebapp 的文件夹和所有类
  • Python:“NoneType”对象不可下标“错误[重复]

    这个问题在这里已经有答案了 我是 Python 数据库的新手 因此为了练习一些关键技能 我正在构建一个登录屏幕 将用户名和散列密码写入数据库 然后根据数据库中的内容检查用户的输入 但是 当尝试从数据库中提取用户名和密码并将其存储在变量中时
  • css 上的 Margin-Right 不起作用

    我在学校期间一直在搞编码 因为它是我在学校最感兴趣的事情 并且在学年的大部分时间里我一直在自学 Html Css 和 Js 我一直在重新创建学校的网站 但遇到了一些问题 我的 CSS Margin Right 命令不起作用 我一直在尝试集中
  • iOS:SDWebImageManager 不缓存图像

    我正在使用创建幻灯片UIImageView 并且图像链接位于数组中 所以当我这样做时 我了解到SDWebImageManager让我们只点击 URL 一次 然后它就会缓存图像以供以后使用 但我在应用程序中监视的是 我相信第一个图像已被缓存
  • 获取变量或参数的名称[重复]

    这个问题在这里已经有答案了 我想获取变量或参数的名称 例如 如果我有 var myInput input var nameOfVar GETNAME myInput gt nameOfVar should be myInput void t
  • Sqlldr 接受 1 种日期格式

    我有一个动态生成控制文件的sql脚本文件 它接受日期格式为 mm dd yyyy 的日期字段 sqlldr 正在从 csv 文件加载日期 但它也接受日期格式 例如 mm dd yyyy 或 mm dd yyyy 我如何让它只接受 MM DD
  • 为什么我的 Java try...catch 出现错误?

    我开始自学更多有关 Java 错误处理的知识 这是我的第一个程序 我尝试查看特定错误而不是使用catch Exception e 作为一个通用的包罗万象的catch 我正在删除一个文件并返回一条消息 表明该文件已成功删除或删除失败 如果删除
  • 大端和小端值是否可移植?

    你好 我在小端和大端有一个小问题 我知道这个问题已经问过n次了 但我无法弄清楚以下几点 让我们取 int i 10 它以二进制存储为00000000 00000000 00000000 00001010在堆栈部分如下 00000000 00
  • GBoard 键盘 GIF 贴纸集成

    我正在努力支持GBoard在我的应用程序中 我希望用户能够从 GBoard 中选择 GIF 我的onCommitContent看起来像这样 Override public void onCommitContent InputContentI
  • raphael.js - 将饼图转换为圆环图

    我正在尝试使用位于此处的 raphael js 示例 http raphaeljs com pie html 但我想将饼图转换为甜甜圈图 所有切片中间有一个洞 目前 每个切片都是使用以下代码创建的 function sector cx cy
  • knitr:块中的代码意外地被包装

    在使用 knit2pdf 和 LaTeX 的投影仪演示中 我有时 发现块中的代码被包装 即使我已经设置了tidy FALSE全球 例如 这个块 item Fit this using func glm lt
  • 保存到 CSV 时日期信息消失

    我试图从互联网上提取一些数据 然后将其导出到 CSV 文件 但我丢失了 CSV 文件中的日期信息 我不明白为什么 我是 R 新手 所以请保持简单的回答 这是我的代码 Library quantmod getSymbols SPY from
  • PHPUnit 测试双打

    我开始使用 PHPUnit 来测试我的代码 但我在理解双重测试方面遇到一些问题 我尝试存根类方法 b 以在从另一个方法调用时返回 true 而不是通常的行为 false 我有这样的代码 class MyClass function a re
  • 创建后数组大小发生变化

    谁能解释一下这里发生了什么 我的印象是 数组的大小一旦创建和声明就无法更改 public class ArrayManipulation public static void main String args int a 1 2 3 new
  • 解析 TO 标头中符合 RFC 822 的地址

    我想使用 preg match all 解析电子邮件地址列表 如 TO 标头中的列表 以获取用户名 如果存在 和电子邮件 与 Pear 中的 mailparse rfc822 parse addresses 或 Mail RFC822 pa
  • 返回 python 中最常出现的前 n 个字符及其各自的计数

    如何返回前 n 个最常出现的字符及其各自的计数 例如 aaaaaabbbbcccc 2应该返回 a 6 b 4 在Python中 我试过这个 def top chars input n list1 list input list3 list