Python – 布尔列表中的错误索引
开发人员经常使用布尔列表在散列期间检查 False 值。这些在开发者的日常生活中有很多应用。布尔列表也用于动态编程中的某些动态编程范式。同样在机器学习值的预处理中。让我们讨论在Python中获取列表中错误值索引的某些方法。
方法 #1:使用enumerate()
和列表理解
enumerate() 可以用它的值来完成索引的哈希任务,再加上列表理解可以让我们检查错误的值。
# Python3 code to demonstrate
# False indices
# using enumerate() + list comprehension
# initializing list
test_list = [True, False, True, False, True, True, False]
# printing original list
print ("The original list is : " + str(test_list))
# using enumerate() + list comprehension
# False indices
res = [i for i, val in enumerate(test_list) if not val]
# printing result
print ("The list indices having False values are : " + str(res))
输出 :
The original list is : [True, False, True, False, True, True, False]
The list indices having False values are : [1, 3, 6]
方法 #2:使用 lambda + filter() + range()
与 lambda 结合使用的过滤器函数可以在 range函数的帮助下执行此任务。 range函数用于遍历整个列表并过滤检查是否存在错误值。
# Python3 code to demonstrate
# False indices
# using lambda + filter() + range()
# initializing list
test_list = [True, False, True, False, True, True, False]
# printing original list
print ("The original list is : " + str(test_list))
# using lambda + filter() + range()
# False indices
res = list(filter(lambda i: not test_list[i], range(len(test_list))))
# printing result
print ("The list indices having False values are : " + str(res))
输出 :
The original list is : [True, False, True, False, True, True, False]
The list indices having False values are : [1, 3, 6]