在 Python 中查找给定列表中带有 None 值的索引


在进行数据分析时,我们可能会遇到列表中存在的 None 值。这些值不能直接用于数学运算和字符串运算等。因此,我们需要找到它们的位置并转换它们或有效地使用它们。

使用 range()

通过结合 range 和 len 函数,我们可以将每个元素的值与 None 进行比较并捕获它们的索引位置。当然,我们使用 for 循环设计来实现这一点。

示例

 在线演示

listA = ['Sun', 'Mon',None, 'Wed', None, None]

# Given list
print("Given list : ",listA)

# Using range
positions = [i for i in range(len(listA)) if listA[i] == None]

# Result
print("None value positions : ",positions)

输出

运行上述代码会产生以下结果 −

Given list : ['Sun', 'Mon', None, 'Wed', None, None]
None value positions : [2, 4, 5]

使用 enumerate

我们还可以使用 enumerate 函数列出每个元素。然后,我们将在程序中如下所示比较每个元素和 None 值,并选择其位置。

示例

 在线演示

listA = ['Sun', 'Mon',None, 'Wed', None, None]

# Given list
print("Given list : ",listA)

# Using enumarate
positions = [i for i, val in enumerate(listA) if val == None]

# Result
print("None value positions : ",positions)

输出

运行上述代码会产生以下结果 −

Given list : ['Sun', 'Mon', None, 'Wed', None, None]
None value positions : [2, 4, 5]

更新日期: 26-Aug-2020

591 次浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告