การใช้เงื่อนไขใน comprehensions (1)
ที่ผ่านมาเราใช้ list comprehensions เพื่อสร้างรายการค่าต่าง ๆ บางครั้งก็มีการดำเนินการเพื่อสร้างค่าเหล่านั้นด้วย
หนึ่งในกลไกที่น่าสนใจของ list comprehensions คือสามารถกรองค่าให้เหลือเฉพาะที่ตรงตามเงื่อนไขที่กำหนดได้ วิธีหนึ่งคือการใช้เงื่อนไขกับตัวแปร iterator ซึ่งในแบบฝึกหัดนี้จะได้ลองทำสิ่งนั้นโดยตรง
จำได้จากวิดีโอว่าสามารถเพิ่มคำสั่ง if ในส่วน predicate expression ที่ต่อจาก for เพื่อทดสอบตัวแปร iterator ได้ดังนี้:
[ output expression for iterator variable in iterable if predicate expression ]
ให้ใช้รูปแบบนี้เพื่อเขียน list comprehension สำหรับแบบฝึกหัดนี้ โดยมีรายการ string ชื่อ fellowship ให้แล้ว และต้องใช้ list comprehension สร้างรายการที่มีเฉพาะสมาชิกใน fellowship ที่มีความยาว 7 ตัวอักษรขึ้นไปเท่านั้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python Toolbox
คำแนะนำการฝึกหัด
- ใช้
memberเป็นตัวแปร iterator ใน list comprehension สำหรับเงื่อนไข ให้ใช้len()เพื่อประเมินค่าตัวแปร iterator โดยต้องการเฉพาะ string ที่มีความยาว 7 ตัวอักษรขึ้นไปเท่านั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a list of strings: fellowship
fellowship = ['frodo', 'samwise', 'merry', 'aragorn', 'legolas', 'boromir', 'gimli']
# Create list comprehension: new_fellowship
new_fellowship = [____ for ____ in fellowship ____]
# Print the new list
print(new_fellowship)