如何返回整个数组的顺序统计量?

2024-04-23 07:07:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在网上搜索过,但找不到解决办法。如果我有一个数组,假设:

x=[17, 1, 2, 7, 8, 5, 27, 29]

我正在寻找一个简单的方法,这样一个向量的顺序统计,即

y=[6, 1, 2, 4, 5, 3, 7, 8]

已返回。当然,它也可以(对于python来说是典型的)从零开始索引;此外,如果有两个或多个相同值的条目,如:

x=[17, 1, 2, 1, 8, 5, 27, 29]

我们有这样的结果:

y=[6, 2, 3, 2, 5, 4, 7, 8]

基本上,因为我没有乳胶,所以我想要:

“#小于或等于此数字的数字”;因此,任何一个条目(即1)都有两个小于或等于1的数字,因此所需条目为2


Tags: 方法顺序条目数字数组向量乳胶典型
1条回答
网友
1楼 · 发布于 2024-04-23 07:07:43

使用sorted

s = sorted(x)
[s.index(i) + 1 for i in x]

输出:

[6, 1, 2, 4, 5, 3, 7, 8]

请注意,索引最初是以0开头的,因此+1稍微有点非常规,如果您要使用它来查找原始值,那么以后可能会出现错误

相关问题 更多 >