首页 > 解决方案 > 跟踪列表中的数字

问题描述

我有一个很长的数字列表,我有一个 if 语句,它取出大于某个值的数字并将它们放在不同的列表中。我希望能够跟踪原始列表中的 ID,以便返回并将它们与其他信息相匹配。请参见下面的示例:

test_list = [564, 564748, 654, 89, 567, 98]

large_numbers = []

for i in test_list:
    if i >= 600:
        large_numbers.append(i)

这工作正常,我得到:

large_numbers = [564748, 654]

但是有没有办法为每个人分配一个 ID,所以我知道它在原始列表中的位置。理想情况下,它会输出类似于:

print(ID_of_large_numbers) 

[0,1]

这样我就知道它是原始列表的第一个和第二个元素。(我的个人列表有几个 100 个元素,我将它从高到低排序成一个 numpy 数组,所以我无法找到他们的 ID)。

标签: pythonlistnumpysorting

解决方案


你可以enumerate在你的for循环中以某种方式使用:

for idx,i in enumerate(test_list):
    if i >= 600:
        large_numbers.append(i)
        ID_of_large_numbers.append(idx)

推荐阅读