📜  Python – 非无元素索引

📅  最后修改于: 2022-05-13 01:54:51.329000             🧑  作者: Mango

Python – 非无元素索引

很多时候,在数据科学领域工作时,我们需要获取所有非无索引的列表,以便可以轻松地预先拥有它们。这是一个非常流行的问题,它的解决方案非常方便。让我们讨论一些可以做到这一点的方法。

方法 #1:使用列表理解 + range()
在这种方法中,我们只使用 range函数检查每个索引,如果我们发现索引不是无则存储索引。

# Python3 code to demonstrate
# Non-None elements indices
# using list comprehension + enumerate
  
# initializing list 
test_list = [1, None, 4, None, None, 5]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + enumerate
# Non-None elements indices 
res = [i for i in range(len(test_list)) if test_list[i] != None]
  
# print result
print("The Non None indices list is : " + str(res))
输出 :
The original list : [1, None, 4, None, None, 5]
The Non None indices list is : [0, 2, 5]

方法 #2:使用列表理解 + enumerate()
enumerate函数可用于将键和值对迭代在一起,列表推导可用于将所有这些逻辑绑定在一行中。

# Python3 code to demonstrate
# Non-None elements indices 
# using list comprehension + enumerate
  
# initializing list 
test_list = [1, None, 4, None, None, 5]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + enumerate
# Non-None elements indices
res = [i for i, val in enumerate(test_list) if val != None]
  
# print result
print("The Non None indices list is : " + str(res))
输出 :
The original list : [1, None, 4, None, None, 5]
The Non None indices list is : [0, 2, 5]