เมื่อจำเป็นต้องแปลงทูเพิลเป็นจำนวนเต็ม สามารถใช้ฟังก์ชันแลมบ์ดาและฟังก์ชัน 'ลด' ได้
ฟังก์ชันนิรนามเป็นฟังก์ชันที่กำหนดโดยไม่มีชื่อ ฟังก์ชันลดใช้พารามิเตอร์สองตัวคือ ฟังก์ชันและลำดับ โดยจะใช้ฟังก์ชันนี้กับองค์ประกอบทั้งหมดของรายการ/ลำดับ มีอยู่ในโมดูล 'functools'
โดยทั่วไป ฟังก์ชันใน Python ถูกกำหนดโดยใช้คีย์เวิร์ด 'def' แต่ฟังก์ชันที่ไม่ระบุตัวตนถูกกำหนดด้วยความช่วยเหลือของคีย์เวิร์ด 'lambda' ใช้นิพจน์เดียว แต่สามารถรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้ มันใช้นิพจน์และส่งกลับผลลัพธ์ของมัน
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
import functools my_tuple_1 = (23, 45, 12, 56, 78, 0) print("The first tuple is : ") print(my_tuple_1) my_result = functools.reduce(lambda sub, elem: sub * 10 + elem, my_tuple_1) print("After converting tuple to integer, it is ") print(my_result)
ผลลัพธ์
The first tuple is : (23, 45, 12, 56, 78, 0) After converting tuple to integer, it is 2768380
คำอธิบาย
- ดาวน์โหลดแพ็คเกจที่จำเป็นแล้ว
- มีการกำหนด tuple และแสดงบนคอนโซล
- ใช้ฟังก์ชัน reduce ซึ่งแลมบ์ดาและทูเพิลถูกส่งผ่านเป็นอาร์กิวเมนต์
- ฟังก์ชันแลมบ์ดาทวีคูณทุกองค์ประกอบในทูเพิลด้วย 10 และเพิ่มองค์ประกอบก่อนหน้าเข้าไป
- ข้อมูลการดำเนินการนี้ถูกเก็บไว้ในตัวแปร
- ตัวแปรนี้คือเอาต์พุตที่แสดงบนคอนโซล