区块链技术博客
www.b2bchain.cn

将N项列表转换为相对顺序(0-(N-1))? [重复] – python程序员分享

本文介绍了将N项列表转换为相对顺序(0-(N-1))? [重复] – python程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

This question already has answers here:

How to get indices of a sorted array in Python

(11个答案)

5年前关闭。

例如,如果我有不同项目的列表:

L = [100,55,104,400] 

可以重述“相对”顺序:

R = [1,0,2,3] 

我不确定如何将L转换为R。起初,我只是尝试从所有内容中减去min(L),但这并没有将数据“压缩”为相对顺序。

我正在寻找一种有效的解决方案(不是O(n2))。

python大神给出的解决方案

您可以尝试结合使用列表理解,zipsorted:

>>> [i[1] for i in sorted(zip(L, range(4)))] [1, 0, 2, 3] 

这是O(nlogn),因为您只需要排序一次。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 将N项列表转换为相对顺序(0-(N-1))? [重复] – python程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们