按频率对列表进行排序

2023-12-01

Python 有什么方法可以按频率对列表进行排序吗?

例如,

[1,2,3,4,3,3,3,6,7,1,1,9,3,2]

上面的列表将按照其值的频率顺序排序,以创建以下列表,其中频率最高的项目放在前面:

[3,3,3,3,3,1,1,1,2,2,4,6,7,9]

我认为这对一个人来说是一份好工作collections.Counter:

counts = collections.Counter(lst)
new_list = sorted(lst, key=lambda x: -counts[x])

或者,您可以编写不带 lambda 的第二行:

counts = collections.Counter(lst)
new_list = sorted(lst, key=counts.get, reverse=True)

如果您有多个具有相同频率的元素and如果您关心这些是否保持分组,我们可以通过更改排序键来做到这一点,不仅包括计数,还包括value:

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

按频率对列表进行排序 的相关文章

随机推荐

  • 使用 pandas 数据框矢量化复杂切片

    出于速度目的 我希望能够对这段代码进行矢量化 目的是根据两个单独数组中包含的一对日期元组计算一个函数 在本例中为标准差 import pandas as pd import numpy as np asd 1 pd Series 0 01
  • ngrok 无法正常工作来测试 HTTP

    我下载了 ngrok 这样我就可以测试我的网站的 http 和 https 请求 如果有人试图进入我网站的特定 url 并且这将是一个简单的 http 请求 我会拒绝它 首先 我的本地主机工作在 8080 端口 我启动 ngrok 它给了我
  • 定义菜单项快捷方式

    我需要一种简单的方法来设置菜单项的快捷方式 但这不适用于快捷方式 只需单击即可
  • 删除 MySQL 中的数百万行

    我最近发现并修复了我正在开发的一个网站中的一个错误 该错误导致表中出现数百万个重复的数据行 即使没有它们 这些数据也会相当大 仍然有数百万 我可以轻松找到这些重复的行 并且可以运行单个删除查询来删除它们 问题是 尝试一次删除这么多行会长时间
  • 密码重置电子邮件出现 NoReverseMatch 错误

    我一直在尝试创建一个密码重置电子邮件系统 我一直在关注这个tutorial 当我尝试访问时出现此错误 password reset django urls exceptions NoReverseMatch 未找到 password res
  • Webdriver:在 Firefox 中单击“共享位置”按钮

    我正在尝试使用 Webdriver 来测试位置感知网站 并希望以编程方式 使用 WebDriver API 调用 单击当我单击 Web 应用程序的位置感知部分的链接时弹出的 共享位置 按钮 这是一个浏览器提示符 似乎不是 DOM 元素或 j
  • 用什么替换路径中的空格字符?

    我从 Java 应用程序启动 bash 并且我的路径中有在 bash 空间内执行的命令 例如 cd Documents and Settings test 我使用 Process Builder 运行命令 但当路径有空格时它不起作用 我尝试
  • Python/Selenium 隐身/私有模式

    我似乎找不到任何有关如何使 Selenium 以隐身模式打开浏览器的文档 我是否必须在浏览器中设置自定义配置文件 首先 自从selenium默认情况下会启动一个带有干净 全新配置文件的浏览器 您实际上已经在私密浏览了 参考 Python 在
  • 如何使用 python HTMLParser 库从特定 div 标签中提取数据?

    我正在尝试使用 python HTMLParser 库从 HTML 页面中获取值 我想要获取的值位于此 HTML 元素内 div 20 div 到目前为止 这是我的 HTMLParser 类 class LinksParser HTMLPa
  • 如何从网页(不同域)获取html代码?

    如何创建一个 javascript 脚本 允许我从不同域获取不同页面的 html 代码 并允许我编辑和显示代码 提前致谢 看一下使用 jQuery 进行跨域请求 GitHub 仓库
  • 在 Vuforia 中获取纯视图矩阵

    我正在使用 Vuforia SDK 构建我的 AR 应用程序 通过使用 trackableResult gt getPose 我可以获得目标帧标记的模型视图矩阵 但我还需要纯视图矩阵来进行一些计算 有什么办法可以得到吗 继上面的 peede
  • Javascript - 如何从特定 div 类内的标签获取属性值?

    我需要从以下位置检索值的 HTML 代码片段 div class elgg foot div
  • 使用 MySQLi 时在非对象上调用成员函数 real_escape_string()

    我已经尝试了有关此主题的其他问题上发布的所有解决方案 但没有一个有效 如果这是一个基本问题 我很抱歉 但我是 MySQLi 新手 我不明白为什么这个连接不起作用 我的functions php 文件中有一个函数 其中包含 function
  • C 中求整数的长度

    我想知道如何在C中找到整数的长度 例如 1 gt 1 25 gt 2 12512 gt 5 0 gt 1 等等 我怎样才能在C中做到这一点 C 您可以取数字绝对值的以 10 为底的对数 向下舍入 然后加一 这适用于非 0 的正数和负数 并且
  • 超出范围循环(0)

    这是函数 def is sorted L str gt Bool Return True iff the L is sorted in nondecreasing order Otherwise return False gt gt gt
  • 如何使用 PHP 正则表达式向第一个 P 标签添加属性?

    WordPress 以这种格式吐出帖子 h2 Some header p First paragraph of the post p p Second paragraph of the post p etc 为了在第一段中获得很酷的样式 这
  • 数组应该在使用之前声明吗? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 哪种做法更好 代码 A 或 B A array array array value B
  • 表单提交触发器 - 来自 Google 文档表单的脚本结果

    我有一个提交数据的表单 一旦新表单数据附加到电子表格 就需要测试和操作 因此 我希望使用 表单提交 触发器来处理最新条目 新的最后一行 然而 在我深入研究该触发器的脚本之前 我很想知道 表单提交 触发器是否可靠 例如 它会立即触发吗 如果同
  • 将变量存储在Movieclip或Sprite中

    如何将数据添加到动态创建的 MovieClip Sprite 中 以便稍后可以在与该 MovieClip Sprite 协调的事件中访问数据 示例代码 for var i int i lt xml children i var button
  • 按频率对列表进行排序

    Python 有什么方法可以按频率对列表进行排序吗 例如 1 2 3 4 3 3 3 6 7 1 1 9 3 2 上面的列表将按照其值的频率顺序排序 以创建以下列表 其中频率最高的项目放在前面 3 3 3 3 3 1 1 1 2 2 4 6