Python|直到 False 元素的值
很多时候,我们需要找到第一个出现的 False 数字来开始处理。这主要用于机器学习领域,我们需要处理不包括 None 或 0 值的数据。让我们讨论可以执行此操作的某些方式。
方法 #1:使用next() + enumerate()
下一个函数可用于遍历列表并进行枚举,并与它一起检查列表是否为 False 元素,并返回 False 值(即零值)之前的真值数。
# Python3 code to demonstrate
# Values till False element
# using next() and enumerate()
# initializing list
test_list = [ 1, 5, 0, 0, 6]
# printing original list
print ("The original list is : " + str(test_list))
# Values till False element
# using next() and enumerate()
res = next((i for i, j in enumerate(test_list) if not j), None)
# printing result
print ("The values till first False value : " + str(res))
输出 :
The original list is : [1, 5, 0, 0, 6]
The values till first False value : 2
方法 #2:使用filter() + lambda + index()
使用上述功能的组合可以轻松执行此特定任务。 filter函数可用于筛选出由 lambda 函数处理的 False 值,并且 index函数返回第一次出现的 this。
# Python3 code to demonstrate
# Values till False element
# using filter() + lambda + index()
# initializing list
test_list = [ 1, 5, 0, 0, 6]
# printing original list
print ("The original list is : " + str(test_list))
# Values till False element
# using filter() + lambda + index()
res = test_list.index(next(filter(lambda i: i == 0, test_list)))
# printing result
print ("The values till first False value : " + str(res))
输出 :
The original list is : [1, 5, 0, 0, 6]
The values till first False value : 2