ในบทความนี้ เราจะต้องค้นหาหมายเลขแรกที่ไม่ใช่ศูนย์ในรายการตัวเลขที่กำหนด
ด้วยการแจงนับและถัดไป
เราฟ้องเพื่อรับรายการองค์ประกอบทั้งหมดแล้วใช้ฟังก์ชันถัดไปเพื่อรับองค์ประกอบแรกที่ไม่ใช่ศูนย์
ตัวอย่าง
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)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list: [0, 0, 13, 4, 17] The first non zero number is at: 2
กับถัดไปและตัวกรอง
เงื่อนไขถัดไปและตัวกรองจะถูกนำไปใช้กับองค์ประกอบของรายการพร้อมกับนิพจน์แลมบ์ดาที่มีเงื่อนไขไม่เท่ากับศูนย์
ตัวอย่าง
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)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list: [0, 0, 13, 4, 17] The first non zero number is at: 2