Trong bài viết này, chúng tôi bắt buộc phải tìm số khác 0 xuất hiện đầu tiên trong danh sách các số đã cho.
Với liệt kê và tiếp theo
Chúng tôi kiện enumerate để lấy danh sách tất cả các phần tử và sau đó áp dụng hàm tiếp theo để lấy phần tử khác 0 đầu tiên.
Ví dụ
listA = [0,0,13,4,17] # Given list print("Given list:\n " ,listA) # using enumerate res = next((i for i, j in enumerate(listA) if j), None) # printing result print("The first non zero number is at: \n",res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list: [0, 0, 13, 4, 17] The first non zero number is at: 2
Với tiếp theo và bộ lọc
Các điều kiện tiếp theo và bộ lọc được áp dụng cho các phần tử của danh sách cùng với biểu thức lambda với điều kiện không bằng không.
Ví dụ
listA = [0,0,13,4,17] # Given list print("Given list:\n " ,listA) # using next,filetr and lambda res = listA.index(next(filter(lambda i: i != 0, listA))) # printing result print("The first non zero number is at: \n",res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list: [0, 0, 13, 4, 17] The first non zero number is at: 2