📌  相关文章
📜  Python|第一次出现真数

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

Python|第一次出现真数

很多时候,我们需要找到第一个出现的非零数来开始处理。这主要用于机器学习领域,我们需要处理不包括None0 值的数据。让我们讨论可以执行此操作的某些方式。方法 #1:使用 next() + enumerate()下一个函数可用于遍历列表并枚举,它检查列表是否为非零元素,并返回 True 值之前的 0 数即非零值。

Python3
# Python3 code to demonstrate
# finding first True value
# using next() and enumerate()
 
# initializing list
test_list = [ 0, 0, 5, 6, 0]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# finding first True value
# using next() and enumerate()
res = next((i for i, j in enumerate(test_list) if j), None)
 
# printing result
print ("The values till first True value : " + str(res))


Python3
# Python3 code to demonstrate
# finding first True value
# using filter() + lambda + index()
 
# initializing list
test_list = [ 0, 0, 5, 6, 0]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# finding first True value
# using filter() + lambda + index()
res = test_list.index(next(filter(lambda i: i != 0, test_list)))
 
# printing result
print ("The values till first True value : " + str(res))


输出:
The original list is : [0, 0, 5, 6, 0]
The values till first True value : 2

方法 #2 :使用 filter() + lambda + index()使用上述函数的组合,可以轻松执行此特定任务。 filter函数可用于筛选出由 lambda 函数处理的 True 值,并且 index函数返回第一次出现的 this。

Python3

# Python3 code to demonstrate
# finding first True value
# using filter() + lambda + index()
 
# initializing list
test_list = [ 0, 0, 5, 6, 0]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# finding first True value
# using filter() + lambda + index()
res = test_list.index(next(filter(lambda i: i != 0, test_list)))
 
# printing result
print ("The values till first True value : " + str(res))
输出:
The original list is : [0, 0, 5, 6, 0]
The values till first True value : 2