如何在python中自动查找列表中元素的开始和结束索引

鲁拜什·巴拉吉(Roobesh Balaji)

我想在列表中找到所有userId的开始和结束索引,因为数据集很大,所以我不想指定每个userId就可以这样做。

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1.......213,213,213,213]

我希望输出是

[{1: 0, 20},{2: 21, 40}.....{213: 29,703, 30,000}]

是否有可以在python中自动执行此操作的软件包或函数?

马里奥(Mario Ishac)

你可以这样做:

from collections import Counter

a = ...

a_counter = Counter(a)
a_indices = []

running_count = 0

for x, x_count in sorted(a_counter.items()):
   a_indices.append({x: (running_count, running_count + x_count - 1)}) 
   running_count += x_count

例如,如果a = [1, 1, 2, 2, 3, 3]a_indices = [{1: (0, 1)}, {2: (2, 3)}, {3: (4, 5)}](最接近你的输出格式,同时为有效)。

如果您愿意稍微更改输出格式,请使用:

a_indices = {}

running_count = 0

for x, x_count in sorted(a_counter.items()):
   a_indices[x] = (running_count, running_count + x_count - 1) 
   running_count += x_count

现在a_indices,对于a上述情况,将是{1: (0, 1), 2: (2, 3), 3: (4, 5)}一个更好用的结构。

这两种解决方案都将使每个结束索引具有x包容性。如果要使其排他,请替换running_count + x_count - 1running_count + x_count

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中查找数组中元素的索引?

如何在Python中查找字符的开始和结束出现

如何在嵌套列表中查找元素的索引?

查找列表中元素索引的最快方法

如何在列表中查找元素的SCSS索引?

如何找到列表中元素的开始和结束的单词索引?蟒蛇

如何在列表中从特定索引到末尾查找元素?

如何在Python中查找列表行和列索引

python获取列表中数字开始和结束的位置的索引

当用数组填充列表时,如何在SwiftUI中获取列表中元素的索引?

如何自动在R中为ggplot中的矩形查找序列的开始和结束

如何在python中解析循环语句的开始和结束

Python:如何在数组X中查找值接近数组Y中元素的元素?

Java如何获取ArrayList中元素的开始和结束

如何在 Python 中的列表中识别序列的开始和结束?

如何在python中的文件中查找模式开始和结束

查找列表中的序列号及其开始和结束索引

查找列表中元素的索引

如何从字符串中查找子字符串的开始和结束索引

如何打印列表中元素的索引 - python

在数据框中查找列表中元素的索引

如何根据开始和结束元素从列表创建子列表?

查找字符串中的连续字符 + 它们的开始和结束索引(python)

如何在所有行的python列表中找到开始和结束索引

如何在python字典中找到开始和结束索引?

如何在 Haskell 中制作开始/结束索引列表?

使用通配符查找列表中元素的索引

如何在 Python 中匹配列表列表中元素的索引并返回结果(一个元素与其他元素的长度不同)?

在 Python 中的日期列表中查找连续工作日的开始和结束