在Python中对多维数组进行排序的适当数据结构?

2024-01-05

我有各种字符串(单词)的三个数值(权重、计数、贡献),我想将它们组织成一个多维数组,然后进行排序。为此,我在字典中创建了列表,其中数值位于列表中,字符串是键:

print_dictionary[word] = [weight,count,contribution]

如何按“贡献”(列表中的第三个值)首先按升序排序,然后按降序排序,并显示排序列表的前 10 项。我怎样才能做到这一点?

例如,对于以下 print_dictionary:

print_dictionary[sam] = [2,7,1]
print_dictionary[sun] = [4,1,3]
print_dictionary[dog] = [1,3,2]

我希望他们能够按升序对贡献进行排序:

Word:   Weight:   Count:    Contribution:
sam     2         7         1
dog     1         3         2
sun     4         1         3

我不明白 itemegetter 如何用于此目的:

sorted(print_dictionary, key=itemgetter(2))

您可以传递一个匿名函数作为密钥sorted。这使用多维字典的第三个成员作为键:

>>> d = {'a': [1, 4, 7], 'b': [2, 3, 9], 'c': [3, 2, 8]}
>>> for key in sorted(d, key=lambda x: d[x][2]):
...    print key, d[key]
a [1, 4, 7]
c [3, 2, 8]
b [2, 3, 9]

对于降序排列,请使用reverse=True。要限制结果,请添加[:N]:

sorted(d, key=lambda x: d[x][2], reverse=True)[:2]

# b [2, 3, 9]
# c [3, 2, 8]

更多关于sorted以及Python中的排序 http://wiki.python.org/moin/HowTo/Sorting.

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

在Python中对多维数组进行排序的适当数据结构? 的相关文章

随机推荐

  • 如何将 REAL48 浮点型转换为双精度型

    我正在连接到 Pervasive SQL 数据库 该数据库将一些数据拆分为两个字段 DOUBLE 字段实际上分为 fieldName 1 和 fieldName 2 其中 1 是 2 字节 int 2 是 4 字节 int 我想获取这些值并
  • iOS:保存 iTunes 库中可见的音频文件

    我正在尝试将 mp3 文件保存到 iTunes 库中可以看到该文件的文件夹中 我在某处读到 如果我将其保存在 NSDocumentDirectory 上 它就会起作用 但我没有尝试这样做 我还尝试了 NSMusicDirectory 和 N
  • Node.js 服务器等待的时间不会超过大约。 15秒

    我正在 NodeJS 上使用 Express js 运行路由器的 GET 方法 我正在从 MSSQL 获取数据 但我的 MSSQL 服务器需要一些时间 而我的 NodeJS 服务器等待时间不会超过大约 15 秒 我应该怎么办 你做的一切都是
  • 如何使用 Twig 模板和 Twitter-Bootstrap 创建模态窗口

    我使用 Symfony add bootstrap 来自定义我的网站的样式 我有一个树枝文件 register content html twig 其中包含注册表单 在我的 index html twig 中我想要这样的东西 a href
  • 无法为 LaTeX/PDF 输出创建索引

    我跟着bookdown https bookdown org yihui bookdown latex index html创建索引的指令 尽管代码运行没有错误 但它没有在 pdf 输出中显示索引 还有说明here https github
  • 针对特定 PDF 运行时出现运行时错误“5”VBA

    在回答我的问题后 我在 VBA 中有以下代码最后一个问题 https stackoverflow com questions 73416591 power querys data from pdf not always reliable p
  • Cypress 默认请求等待?

    我需要 Cypress 在执行任何操作之前默认等待任何 xhr 请求完成 有没有办法将其设为默认值或任何其他替代方案 因为我正在测试的应用程序速度很慢并且会进行大量 api 调用 编辑 为每个 api 请求编写一条语句会变得混乱且不必要的工
  • Bootstrap Select - 重新初始化动态添加的元素

    我正在使用引导选择 http silviomoreto github io bootstrap select http silviomoreto github io bootstrap select 用于为我的网站的每个部分显示带有 Fon
  • 在 C++ 中定义短函数名别名的最安全方法是什么?

    假设我有一堂课Utility在一个文件中utility h class Utility public static double longDescriptiveName double x return x 42 然后我发现我使用了这个函数l
  • 属性值是否可以跨越多行?

    e g div class big left important some content div 有谁知道这是否会破坏事情 是否有良好的浏览器支持 考虑回车 制表符等空白 http www sul stanford edu tools t
  • 通过来自同一对象实例(或基础)的反射调用私有/受保护的方法

    是否可以通过反射调用受保护的方法 我正在使用这个 Me GetType InvokeMember Stages CurrentStage Reflection BindingFlags InvokeMethod Nothing Me Not
  • 以编程方式获取 Swift 中当前播放曲目的名称和艺术家

    我已经尝试过以下方法 let nowPlaying MPNowPlayingInfoCenter defaultCenter nowPlayingInfo 然而我回来了nil每次我运行它时都会播放一首歌曲 我希望能够获取曲目标题和艺术家并将
  • 在 Web 开发过程中,我将花费多少时间用于用户输入验证?

    我是网络开发新手 到目前为止 我花了很多时间 50 左右 来尝试阻止坏人将 sql 注入之类的东西放入我的输入表单中并在服务器端验证它 这是正常的吗 Jeremy 一些 PHP 细节 当涉及数据库查询时 请始终尝试使用准备好的参数化查询 这
  • 如何进入 CoreDNS pod kubernetes?

    我有一个正在运行的 k8s 集群 其中包含两个 CoreDNS 副本 但是当我尝试输入 POD 的 bash 提示符时 它向我抛出以下错误 kubectl exec it coredns 5644d7b6d9 285bj n kube sy
  • joomla(2.5)系统插件安装时加载语言文件

    在安装系统插件 在 Joomla 2 5 中 期间 我很难显示本地化字符串 xml 文件中本地化字符串的 正常 方式似乎不起作用 请参阅另一个问题 基于语言的安装描述 https stackoverflow com questions 11
  • 如何跨应用程序限制内容提供商数据

    我们如何确保某些应用程序无法访问存储在内容提供商中的我的数据 而某些其他应用程序可以访问该数据 基本上 我需要允许我感兴趣的某些应用程序访问存储在内容提供程序中的数据 但我不希望所有应用程序都能够访问该数据 我怎样才能实现这个目标 Than
  • 获取代码点的所有 Unicode 别名

    The charnames https metacpan org pod charnames杂注提供charnames viacode返回给定代码点的 最佳 名称 例如 perl Mcharnames full E say charname
  • 使用插件系统的 Netbeans 平台应用程序

    我正在编写一个 Netbeans 平台应用程序 我想在该应用程序处于开发状态时将其提供给客户 并且每当特定模块有更新时 我想以客户可以使用 netbeans 插件更新程序来更新模块的方式处理它 因此 我将获得一台服务器来托管不同的模块 签署
  • (iphone)将子视图的框架设置在超级视图的边界之外?

    我注意到我可以将子视图放置在超级视图的边界之外 部分或全部 我想知道这是否可以接受 因为这在通常的 iPhone 视图编程中似乎是不正常的 谢谢 这是可以接受的 有时甚至是常见的做法 例如 滚动视图或其他 复合 视图的自定义实现通常会将对象
  • 在Python中对多维数组进行排序的适当数据结构?

    我有各种字符串 单词 的三个数值 权重 计数 贡献 我想将它们组织成一个多维数组 然后进行排序 为此 我在字典中创建了列表 其中数值位于列表中 字符串是键 print dictionary word weight count contrib