如何在不导入任何库的情况下获取列表的排名? (如果重复,则所有重复的排名等于平均位置)[关闭]

2024-01-29

如何在不导入任何库的情况下获取列表的排名?最小的值将排名 1,下一个较小的值将排名 2,依此类推。

(如果重复,则所有重复的排名等于平均位置)

E.g.

X = [10, 20, 20, 50, 40]

预期输出:2.5,因为 5(排名 2 + 排名 3)/ 2 = 2.5

X = [1, 2.5, 2.5, 5, 4]

我设法到达这里:

#add original position
X_data = list(enumerate(X, start=1))

#sort by value
X_data = list(sorted(X_data, key=lambda x: x[1], reverse=False))

print(X_data)

Output:

[(1, 10), (2, 20), (3, 20), (5, 40), (4, 50)]

构建字典中的排名列表:

>>> X = [10, 20, 20, 50, 40]
>>> ranks = {}
>>> for i, val in enumerate(sorted(X), 1):
...     ranks.setdefault(val, []).append(i)
...

然后取每个列表的平均值以获得每个值的平均排名:

>>> avg_ranks = {v: sum(r)/len(r) for v, r in ranks.items()}

然后使用平均排名字典按原始顺序获取原始列表中每个项目的排名:

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

如何在不导入任何库的情况下获取列表的排名? (如果重复,则所有重复的排名等于平均位置)[关闭] 的相关文章

  • 如何编写嵌套的 __init__.py 文件

    我正在努力解决嵌套问题 init py在我正在编写的Python包中 该包具有以下架构 module init py submodule1 init py source py submodule2 init py source py sub
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 如何避免使用 python 处理空的标准输入?

    The sys stdin readline 返回之前等待 EOF 或新行 所以如果我有控制台输入 readline 等待用户输入 相反 我想打印帮助并在没有需要处理的情况下退出并显示错误 而不是等待用户输入 原因 我正在寻找一个Pytho
  • 获取 .wav 文件长度或持续时间

    我正在寻找一种方法来找出 python 中音频文件 wav 的持续时间 到目前为止我已经了解了 pythonwave图书馆 mutagen pymedia pymad我无法获取 wav 文件的持续时间 Pymad给了我持续时间 但它不一致
  • 稀有对象的 python 类型注释,例如 psycopg2 对象

    我了解内置类型 但是我如何指定稀有对象 例如数据库连接对象 def get connection and cursor gt tuple psycopg2 extensions cursor psycopg2 extensions conn
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 按边距(“全部”)值列对 Pandas 数据透视表进行排序

    我试图根据 pandas 数据透视表中的行总和对最后一列 边距 aggrfunc 进行降序排序 我知道我在这里错过了一些简单的东西 但我无法弄清楚 数据框 数据透视表 WIDGETS DATE 2 1 16 2 2 16 2 3 16 Al
  • 在Python中从大文件中搜索单词列表

    我是新蟒蛇 我有一个单词列表和一个非常大的文件 我想删除文件中包含单词列表中的单词的行 单词列表按排序给出 并且可以在初始化期间输入 我正在努力寻找解决这个问题的最佳方法 我现在正在进行线性搜索 这花费了太多时间 有什么建议么 您可以使用i
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • Python Anaconda:如何测试更新的库是否与我现有的代码兼容?

    我在 Windows 7 机器上使用 Python 2 7 Anaconda 安装进行数据分析和科学计算 当新的库发布时 例如新版本的 pandas patsy 等 您建议我如何测试新版本与现有代码的兼容性 是否可以在同一台机器上安装两个
  • 运行 Python 单元测试,以便成功时不打印任何内容,失败时仅打印 AssertionError()

    我有一个标准单元测试格式的测试模块 class my test unittest TestCase def test 1 self tests def test 2 self tests etc 我的公司有一个专有的测试工具 它将作为命令行
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 在Raspberry pi上升级skimage版本

    我已经使用 Raspberry Pi 2 上的 synaptic 包管理器安装了 python 包 然而 skimage 模块版本 0 6 是 synaptic 中最新的可用版本 有人可以指导我如何将其升级到0 11 因为旧版本中缺少某些功
  • 为什么 __dict__ 和 __weakref__ 类从未在 Python 中重新定义?

    类创建似乎从来没有re 定义 dict and weakref class属性 即 如果它们已经存在于超类的字典中 则它们不会添加到其子类的字典中 但始终re 定义 doc and module class属性 为什么 gt gt gt c
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • pandas 中数据帧中的随机/洗牌行

    我目前正在尝试找到一种方法来按行随机化数据框中的项目 我在 pandas 中按列洗牌 排列找到了这个线程 在 pandas 中对 DataFrame 进行改组 排列 https stackoverflow com questions 157
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar

随机推荐

  • Golang 比较和更新来自两个不同映射字符串接口的键

    将两个 yaml 文件解组到两个不同的映射后 我想比较两个映射的键 外部键和内部键 因为它是嵌套映射 以及第一个映射 configMap 中是否存在任何键 外部或内部键 和第二张地图 userconfigMap 中不存在 我想将该密钥附加到
  • BoxLayout:无法设置子组件大小

    我有一个JFrame SuperTest and JPanel SuperLogin 登录面板具有用户名和密码输入字段以及登录按钮 我希望它看起来像这样 但如下图所示 输入字段的高度和宽度太大 超级测试 java import javax
  • Tridion 2009 TBB:如何确定页面是否已发布到特定发布目标?

    在使用 TOM NET API 的 TBB 中 我想获取已发布页面的列表 基本上我正在构建站点地图 我正在尝试确定 Tridion ContentManager CommunicationManagement Page 是否已发布 似乎没有
  • 通过 __VA_OPT__ 的递归宏

    编写递归宏是否合法 VA OPT GCC 和 Clang 似乎没有递归替换 但我不确定它是否是故意的 如 VA OPT 支持是最近才出现的 C 规范 19 3 1 3 VA OPT 否则 替换由扩展的结果组成 内容作为当前类函数宏的替换列表
  • 更高 API 上的 NetworkOnMainThreadException

    仅当我在更高的 API 上进行调试时 脚本才会强制关闭 16 但是当涉及到 API 时 它工作正常 10 这可能是我的项目设置问题吗 这是对服务器的一个简单请求 用于获取片段中的类别列表 画廊 java public class galle
  • 随机猜谜游戏 - bug

    当我输入字符串而不是整数时 此代码出现问题 如何检查用户是否输入了字符而不是整数 我想向用户发出一条消息 说你应该使用数字 而不是字符 另外 如果您在这段代码中发现任何我可以改进的地方 请帮助我 我是C语言新手 include
  • 在 Delphi 中使用/不使用 JCL 托管 CLR - 示例

    有人可以在这里发布一个如何在 Delphi 中托管 CLR 的示例吗 我读过类似的question https stackoverflow com questions 258875 hosting the net runtime in a
  • Dictionary 的神秘行为

    我正在开发一个基于 Asp net MVC 3 0 的大型系统 并在 Mono 2 10 8 Windows 7 上工作 一切都很好 直到几天前的一刻 在我的 API 中 我有几个使用字典的实用程序类 例如 像这样的 public stat
  • 缓冲阅读器和扫描仪

    我想知道这是怎么回事 它给了我一个构造函数错误 java io InputSream BufferedReader br new BufferedReader System in String filename br readLine Bu
  • 调整 UICollectionView 高度

    我试图通过在加载视图控制器时将其设置为 0 来调整 UICollectionView 高度的大小 然后在按下按钮时通过动画增加其大小 我尝试了一些不同的东西 但它的大小根本没有改变 以下是我尝试将其高度更改为 0 的所有不同方法 CGRec
  • X11:列出顶级窗口

    到目前为止我发现了两种方法 对于每个根窗口 默认屏幕 特定屏幕 所有屏幕等 列出每个直接子窗口 递归地搜索每个直接子窗口以查找窗口WM STATE财产 该窗口成为直接子窗口的顶级应用程序窗口 并且所有递归都可以停止 如果直接子级的层次结构中
  • MPMoviePlayerController 背景颜色不会粘住

    我正在尝试更改 MPMoviePlayerController 的背景颜色 但无法让它保持不变 我在用着 moviePlayer view backgroundColor UIColor redColor 视频加载时我可以看到背景闪烁红色
  • jtable如何使用rs2xml

    我目前是java新手 我一直在寻找一种将数据库信息放入jtable的有效方法 我听说了rs2xml 我真的很想学习这个 因为其他方法让我感到困惑并且让我头疼 有谁知道如何有效地使用它 如果您不介意的话可以用一个简单的代码来解释一下 提前致谢
  • 三元运算符与 if-else 语句的性能

    注意 确实 这个问题已经在许多其他语言中得到了解答 但是 我找不到 Python 的答案 所以不要标记为重复 Python 中的 if else 语句和三元运算符在性能上有区别吗 我怀疑是否存在性能差异 它们编译为等效的字节码序列 gt g
  • 自动换行也不让数字换行

    我有这个正在工作的表单唯一的事情是当用户在文本框数字中输入很多数字时 Example 12345678 3567892 1235674 36778883 566666678 35674748999 with no spaces 它不想包裹
  • Django 虚拟主机设置。 Apache mod_wsgi

    我希望我的问题有一个简单的答案 因为我对 python 和 Apache 不是最有经验的 我正在尝试将 Apache 与 mod wsgi 连接起来 我已经使用虚拟主机来做到这一点 见下文
  • 带有自定义适配器的微调器不会在选择时消失

    我正在使用一个Spinner使用名为的自定义适配器类AlgorithmAdapter原则上一切工作正常 这意味着会出现微调器弹出窗口 并且所有包含的视图都会适当膨胀 然而 我无法找到的是在做出选择时如何 告诉 微调器 我当然知道setSel
  • Java servlet:request.getParameter 和 request.setAttribute 以我不明白的方式连接[重复]

    这个问题在这里已经有答案了 在 doPost 方法的顶部 我获取了之前使用基本表单在 JSP 中设置的一些参数 protected void doPost HttpServletRequest request HttpServletResp
  • document.location.href 和 document.location 有什么区别?

    有什么区别document location href and document location 各个浏览器都一样吗 document location是同义词window location几乎自从 JavaScript 存在以来 它就已
  • 如何在不导入任何库的情况下获取列表的排名? (如果重复,则所有重复的排名等于平均位置)[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何在不导入任何库的情况下获取列表的排名 最小的值将排名 1 下一个较小的值将排名 2 依此类推 如果重复 则所有重复的排名等于平均位置 E