Big Data Fundamentals with PySpark
Upendra Devisetty
Science Analyst, CyVerse
Lambda function คือฟังก์ชันนิรนามใน Python
ทรงพลังและนิยมใช้กันมาก โดยเฉพาะกับ map() และ filter()
Lambda function สร้างฟังก์ชันสำหรับเรียกใช้ภายหลัง คล้ายกับ def
คืนค่าฟังก์ชันโดยไม่มีชื่อ (นิรนาม)
ใช้นิยามฟังก์ชันแบบ inline หรือเลื่อนการประมวลผลโค้ดออกไป
lambda arguments: expression
double = lambda x: x * 2
print(double(3))
6
def cube(x):
return x ** 3
g = lambda x: x ** 3
print(g(10))
print(cube(10))
1000
1000
Lambda ไม่มี return statement
ใช้ Lambda function ได้ทุกที่
map() นำฟังก์ชันไปใช้กับทุกรายการในลิสต์
ไวยากรณ์ทั่วไปของ map()
map(function, list)
map()items = [1, 2, 3, 4]
list(map(lambda x: x + 2 , items))
[3, 4, 5, 6]
filter() รับฟังก์ชันและลิสต์ แล้วคืนค่าลิสต์ใหม่ที่ฟังก์ชันประเมินผลเป็น true
ไวยากรณ์ทั่วไปของ filter()
filter(function, list)
filter()items = [1, 2, 3, 4]
list(filter(lambda x: (x%2 != 0), items))
[1, 3]
Big Data Fundamentals with PySpark