การค้นหาสตริงภายในสตริงอื่น
เมื่อทำงานกับสตริง เรามักต้องการรู้ว่าสตริงนั้นประกอบด้วยอักขระอะไรบ้าง ตัวอย่างเช่น อาจต้องการทราบว่ารายการคุกกี้มีกี่รายการที่มีคำว่า Chocolate อยู่ หรือกี่รายการที่ขึ้นต้นด้วยตัวอักษร C เราสามารถตรวจสอบสิ่งเหล่านี้ได้โดยใช้คีย์เวิร์ด in และเมธอด .startswith() บนสตริง นอกจากนี้ยังใช้เงื่อนไขร่วมกับ list comprehension ในรูปแบบ [action for item in list if something is true] ได้ด้วย ในตัวอย่างคุกกี้จะเขียนได้ว่า [cookie_name for cookie_name in cookies if 'chocolate' in cookie_name.lower()] โปรดทราบว่าการตรวจสอบเหล่านี้คำนึงถึงตัวพิมพ์เล็ก-ใหญ่ จึงต้องใช้เมธอด .lower() กับสตริง นอกจากนี้ยังสามารถ "ต่อเมธอด" หลายตัวเข้าด้วยกันได้โดยเรียกใช้ต่อเนื่องกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ประเภทข้อมูลใน Python
คำแนะนำการฝึกหัด
- เก็บและแสดงรายการ
girl_namesที่ขึ้นต้นด้วยs - เก็บและแสดงรายการ
girl_namesที่มีคำว่าangelอยู่ภายใน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Store a list of girl_names that start with s: names_with_s
names_with_s = [____ for name in girl_names if ____.lower().____('____')]
print(names_with_s)
# Store a list of girl_names that contain angel: names_with_angel
names_with_angel = [name for name in ____ if '____' in name.____()]
print(names_with_angel)