一日一学:返回排序好的列表的索引顺序

总第 118 篇文章,本文大约 700 字,阅读大约需要  分钟

今天介绍的是对列表排序后,返回排序好的索引顺序。


问题描述:给定一个列表 [2, 3, 1, 4, 5] ,怎么返回排序后的索引顺序,即 [2,0,1,3,4] ?

解决方法:

方案1: 利用 sorted 函数,例子如下所示:

>>> s = [2, 3, 1, 4, 5]
>>> sorted(range(len(s)), key=lambda k: s[k])
[2, 0, 1, 3, 4]
>>>

方案2: 采用 itemgetter 函数:

L = [2,3,1,4,5]
from operator import itemgetter
indices, L_sorted = zip(*sorted(enumerate(L), key=itemgetter(1)))
list(L_sorted)
>>> [1, 2, 3, 4, 5]
list(indices)
>>> [2, 0, 1, 3, 4]

方案3: 利用 numpyargsort 函数:

>>> import numpy
>>> vals = numpy.array([2,3,1,4,5])
>>> vals
array([2, 3, 1, 4, 5])
>>> sort_index = numpy.argsort(vals)
>>> sort_index
array([2, 0, 1, 3, 4])

参考文章:

https://stackoverflow.com/questions/7851077/how-to-return-index-of-a-sorted-list?answertab=active#tab-top

也可以点击原文查看。

ps. 今天也祝大家情人节快乐

单身的2020年脱单成功!


    精选文章

  1. python版代码整洁之道

  2. python技巧(1)--如何转换itertools.chain对象为数组

  3. python技巧(2)--碾平列表和列表去重

  4. 几个有趣的python技巧

  5. 10个高效的pandas技巧

欢迎关注我的微信公众号--算法猿的成长,或者扫描下方的二维码,大家一起交流,学习和进步!

如果觉得不错,在看、转发就是对小编的一个支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020年周记(3/50)

总第 119 篇文章,本文大约 700 字,阅读大约需要 2 分钟第三篇周记,依然在家办公的一周。工作学习阅读&写作其他下周计划ps. 昨天发文章后才发现有些地方需要修改,所以删除了发出的文章,修改后再发出来&#xff1…

一日一学--如何对数值型特征进行分桶

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 120 篇文章,本文大约 1200 字,阅读大约需要 3 分钟今天这篇文章主要是介绍在特征工程中,对数值型特征进行分桶操作的方法。简介分桶是离散化的常用…

常见的数据增强项目和论文介绍

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 121 篇文章,本文大约 1100 字,阅读大约需要 3 分钟在机器学习项目中,数据集对算法模型的性能是有很大的影响的,特别是现在深度学习&a…

PS网页设计教程XXIX——如何在PS中设计一个画廊布局

作为编码者,美工基础是偏弱的。我们可以参考一些成熟的网页PS教程,提高自身的设计能力。套用一句话,“熟读唐诗三百首,不会作诗也会吟”。 本系列的教程来源于网上的PS教程,都是国外的,全英文的。本人尝试翻…

RS(2)--从文本数据到用户画像

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 122 篇文章,本文大约 5100 字,阅读大约需要 15 分钟上一篇文章简单介绍了推荐系统的定义和应用,推荐系统第二篇,简单介绍用户画像的知…

深度学习算法简要综述(上)

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 123 篇文章,本文大约 2300 字,阅读大约需要 7 分钟原文:https://theaisummer.com/Deep-Learning-Algorithms/作者:Sergios Karagianna…

深度学习算法简要综述(下)

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 124 篇文章,本文大约 3731 字,阅读大约需要 10 分钟原文:https://theaisummer.com/Deep-Learning-Algorithms/作者:Sergios Karagianna…

关于AI你可能不知道的5件事情

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 125 篇文章,本文大约 1400 字,阅读大约需要 7 分钟原文:https://www.blog.google/technology/ai/five-things-a-to-z-ai/作者:Gina Nef…

10个实用的机器学习建议

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 126 篇文章,本文大约 2500 字,阅读大约需要 10 分钟原文:https://medium.com/modern-nlp/10-great-ml-practices-for-python-developers-b089eefc1…

设计模式笔记——生成器模式(Builder Pattern)

一、概述在软件系统中,把构造对象实例的逻辑移到了类的外部,在这个类的外部定义了类的逻辑。它把一个复杂对象的构造过程从对象的表示中分离出来了,其直接效果是将一个复杂的对象简化为一个比较简单的目标对象。它强调的是产品构造过程。二、…

每日一学:如何转换png图片为jpg图片

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 128 篇文章,本文大约 800 字,阅读大约需要 3 分钟背景最近在工作中会遇到需要将 png 图片转换为 jpg 图片的需求,主要原因也是 png 图片占的空间太…

python 数据模型

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 129 篇文章,本文大约 4500 字,阅读大约需要 15 分钟最近开始阅读《流畅的python》,也会开始更新这本书的学习笔记第一篇的内容是第一章 python 数…

每日一学:如何用matplotlib展示图片

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 130 篇文章,本文大约 1000 字,阅读大约需要 5 分钟前言今天简单介绍如何通过 matplotlib 展示图片,分为以下几种情况:直接用 matplotli…

每日一学:如何读取网络图片

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 131 篇文章,本文大约 1300 字,阅读大约需要 3 分钟前言有时候我们需要读取的图片是网络上的图片,应该怎么操作呢?这里也是介绍两个常用…

编写高效的PyTorch代码技巧(上)

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 132 篇文章,本文大约 7000 字,阅读大约需要 20 分钟原文:https://github.com/vahidk/EffectivePyTorch作者:vahidk前言这是一份 PyTorc…

编写高效的PyTorch代码技巧(下)

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 133 篇文章,本文大约 3000 字,阅读大约需要 15 分钟原文:https://github.com/vahidk/EffectivePyTorch作者:vahidk前言这是一份 PyTorc…

2020年计算机视觉学习指南

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 134 篇文章,本文大约 3000 字,阅读大约需要 10 分钟原文:https://towardsdatascience.com/guide-to-learn-computer-vision-in-2020-36f19d92c934作…

是选择Keras还是PyTorch开始你的深度学习之旅呢?

点击上方“算法猿的成长“,关注公众号,选择加“星标“或“置顶”总第 135 篇文章,本文大约 7000 字,阅读大约需要 20 分钟原文:https://medium.com/karan_jakhar/keras-vs-pytorch-dilemma-dc434e5b5ae0作者&#xff1…