เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

filter() และ lambda functions

ในแบบฝึกหัดที่แล้ว คุณได้ใช้ lambda functions เพื่อฝังการดำเนินการไว้ภายใน map() โดยไม่ต้องตั้งชื่อฟังก์ชัน แบบฝึกหัดนี้จะฝึกแนวคิดเดียวกัน แต่เปลี่ยนมาใช้ lambda function ร่วมกับ filter() แทน ฟังก์ชัน filter() ใช้สำหรับกรององค์ประกอบที่ไม่ตรงตามเงื่อนไขที่กำหนดออกจากลิสต์

เป้าหมายของแบบฝึกหัดนี้คือการใช้ filter() เพื่อสร้างลิสต์ใหม่จากลิสต์สตริงที่ให้มา โดยลิสต์ใหม่จะมีเฉพาะสตริงที่มีความยาวมากกว่า 6 ตัวอักษรเท่านั้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้น: การเขียนฟังก์ชัน

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ในการเรียกใช้ filter() ให้ส่ง lambda function และลิสต์สตริง fellowship เข้าไป โดย lambda function ควรตรวจสอบว่าจำนวนตัวอักษรของสตริง member มากกว่า 6 หรือไม่ โดยใช้ฟังก์ชัน len() จากนั้นกำหนด filter object ที่ได้ให้กับตัวแปร result
  • แปลง result ให้เป็นลิสต์ แล้วพิมพ์ผลลัพธ์ออกมา

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a list of strings: fellowship
fellowship = ['frodo', 'samwise', 'merry', 'pippin', 'aragorn', 'boromir', 'legolas', 'gimli', 'gandalf']

# Use filter() to apply a lambda function over fellowship: result
____ = filter(____, ____)

# Convert result to a list: result_list
____

# Print result_list
print(result_list)
แก้ไขและรันโค้ด