มาต่อกันที่ Basic Python ในเรื่องของ Strings กันนะคะ! วันนี้เราจะมาดูเทคนิคการตัดแบ่งข้อความ หรือที่เรียกว่า Slicing (การหั่น) กันค่ะ! มันง่ายและมีประโยชน์มากๆ เลยน้าาา
การ Slicing ใช้เครื่องหมาย [start:end] เพื่อเลือกส่วนของ String ที่เราต้องการ:
1. Slicing แบบพื้นฐาน: print(b[2:5])
• จะเริ่มจาก index ที่ 2 ไปจนถึง ก่อน index ที่ 5 (index ที่ 5 จะไม่ถูกรวมนะคะ!)
2. Slice From the Start: print(b[:5])
• ถ้าเรา เว้น index เริ่มต้นไว้ จะเป็นการเริ่มตัดตั้งแต่ตัวอักษรแรกสุดเลยค่ะ
3. Slice To the End: print(b[2:])
• ถ้าเรา เว้น index สุดท้ายไว้ จะเป็นการตัดตั้งแต่ index ที่กำหนดไปจนถึงตัวอักษรสุดท้ายของ String เลยค่ะ
4. Negative Indexing: print(b[-5:-2])
• ใช้ตัวเลขติดลบเพื่อเริ่มนับจาก ด้านท้าย ของ String! ตัวอย่างนี้จะดึงอักขระจากตำแหน่งที่ 5 จากท้าย (-5) ไปจนถึงก่อนตำแหน่งที่ 2 จากท้าย (-2) ค่ะ
ลองเอาเทคนิคนี้ไปใช้ในการจัดการข้อความดูนะคะ รับรองว่าสะดวกขึ้นเยอะเลย! ฝึกบ่อยๆ แล้วจะเก่งขึ้นเองค่ะ สู้ๆ นะคะ! 💪💖
#python #data #ai #programmer #learnonlemon8
หลายคนทักมาว่า “string python คืออะไร” เลยขอเสริมให้ครบแบบอ่านจบแล้วไปทำโจทย์ต่อได้เลยนะคะ
String (สตริง) ใน Python คือ “ข้อความ” ที่อยู่ในเครื่องหมายคำพูด จะใช้ '...' หรือ "..." ก็ได้ เช่น
- s = "Hello, World!"
- name = 'Dave'
สตริงเอาไว้เก็บตัวอักษร ตัวเลข หรือสัญลักษณ์ต่างๆ (ขอแค่เป็นข้อความ) และที่สำคัญคือ String เป็นลำดับของอักขระ (sequence) เลยทำให้เราเข้าถึงทีละตัวด้วย index ได้ค่ะ เช่น s[0] คือ H
สิ่งที่คนพลาดบ่อยๆ เวลาเริ่มทำ Slicing
1) index เริ่มที่ 0
คำว่า "Hello, World!" ตัวแรก H คือ index 0 ไม่ใช่ 1
2) end ใน [start:end] “ไม่รวมตัวท้าย”
เช่น b[2:5] จะได้ "llo" เพราะหยุดก่อนตำแหน่ง 5
3) เว้น start หรือ end ได้
- b[:5] ได้ "Hello" (เริ่มจากตัวแรก)
- b[2:] ได้ "llo, World!" (ไปจนสุดท้าย)
4) Negative Indexing นับจากท้าย
-1 คือท้ายสุด และ b[-5:-2] จะได้ "orl" (ช่วงใกล้ท้ายของ "Hello, World!")
ขอเสริมอีกนิดให้ใช้งานคล่องขึ้น: Slicing แบบมี step
- b[::2] หยิบทุก 2 ตัวอักษร
- b[::-1] กลับสตริงจากหลังมาหน้า (เอาไว้เช็ค palindrome หรือกลับข้อความแบบเร็วๆ)
อีกคำที่เจอบ่อยใน Google คือ “หารปัดเศษ python” (เผื่อทำงานกับตัวเลขร่วมกับสตริง)
- หารแบบปัดเศษลง (floor division): 7 // 2 ได้ 3
- เศษจากการหาร (mod): 7 % 2 ได้ 1
ทริคที่ใช้บ่อยเวลาแปลงผลลัพธ์ไปเป็นข้อความ:
- "ผลลัพธ์คือ " + str(7 // 2)
หรือใช้ f-string ที่อ่านง่ายกว่า:
- f"ผลลัพธ์คือ {7 // 2}"
สรุปสั้นๆ: ถ้าเข้าใจว่า String คือข้อความ + รู้กฎ index เริ่มที่ 0 + end ไม่รวมตัวท้าย คุณจะใช้ slicing ได้คล่องมากขึ้นแน่นอนค่ะ ลองฝึกกับ "Hello, World!" ตามตัวอย่าง b[2:5], b[:5], b[2:], b[-5:-2] แล้วค่อยเปลี่ยนเป็นข้อความของตัวเองดูนะคะ