如何找到索引i右侧的不同值

2024-06-26 09:42:53 发布

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

给定

Arr=[7,7,3,2,3]

出现在索引i右侧的不同元素的数量将为

>>> [2,2,1,0,0]

Tags: 元素数量arr
2条回答
from collections import Counter
from typing import List

ll: List = [7,7,3,2,3] #your list
idx: int = 3 # your index value


Counter(ll[:idx]) 

输出:

Counter(ll[:idx])

通过对索引范围的列表理解,获取数组中元素集的长度减去每个索引右侧的元素

基于示例结果的解决方案:

[len(set(Arr)-set(Arr[:i+1])) for i in range(len(Arr))]

[2, 2, 1, 0, 0]

基于所述问题的解决方案:

[len(set(Arr[i+1:])) for i in range(len(Arr))] 

[3, 2, 2, 1, 0]

相关问题 更多 >