find() และindex() ในPython

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

Dive Demo
PHP Sr. Member
PHP Sr. Member
โพสต์: 84
ลงทะเบียนเมื่อ: 01/02/2017 11:10 am

find() และindex() ในPython

โพสต์ที่ยังไม่ได้อ่าน โดย Dive Demo »

find() และ index() นั้นจะเป็นฟังก์ชั่นทำหน้าที่ค้นหาตำแหน่ง String ว่าอยู่ที่จุดใด โดยหากเป็นจริง ฟังก์ชั่นจะคืนค่าออกมาเป็นตำแหน่งของ string ตัวนั้น แต่หากเป็นเท็จจะคืนค่าออกมาเป็น -1

Ex.1 หาค่าจากข้อความ "Enjoys doing Python in Mindphp.com" โดยกำหนดดังตัวอย่าง

โค้ด: เลือกทั้งหมด

str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("in")
print "Result : Function index() =",str.index("ind")
Output 1
Find_1.png
Find_1.png (24.5 KiB) Viewed 3651 times
จากรูป Output 1 ลองพิจารณาดูนะครับระหว่าง str.find("in") กับ str.index การทำงานของสองฟังก์ชั่นนี่ทำงานเหมือนกันนะครับโดยขออธิบายเพิ่มเติม
ในตัวอย่างนี้จะสังเกตุว่ามีคำว่า "in" 3 ตำแหน่งคือ "doing" "in" "mindphp" เห็นไหมครับทั้งสามคำนี้มีคำว่า "in" อยู่ภายใน

*ในกรณีของ str.find ("in") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 9
>>>เพราะในระบบมันจะหาตัว"in"ที่ใกล้ที่สุดในกลุ่มข้อความนั้นจากซ้ายไปขวาซึ่งตัว "in"ที่ใกล้ที่สุดคือ "in" ที่อยู่ภายใน"doing" (การนับตำแหน่งจะเริ่มจาก 0 และนับการเว้นวรรคด้วย โดยจะนับตัวอักษรตัวแรกที่เราค้นหา ในที่นี้เราหาคำว่า "in" ตัวอักษรตัวแรกคือ "i")

*ทีนี้มาดูในส่วนของ str.index("ind") เหตุผลว่าทำไมถึงได้ผลลัพท์ = 24
>>>ระบบจะหาคำว่า "ind" ที่มีอยู่ในประโยคก็คือ "Mindphp" โดย ind จะอยู่ที่ตำแหน่งที่ 24 (นับจากเหมือนกันแต่ผลลัพท์ต่างกันเพราะเรากำหนดเป็น "ind")

ความแตกต่างของ find() และ index()
-การแสดงค่าและหน้าที่จะคล้ายๆกันครับ แต่ว่าพอเวลาข้อมูลเป็นเท็จ (ไม่มีข้อความอยู่ในระบบที่หนด) เช่นเรากำหนดให้หา

Ex2. ลองเปลี่ยนจาก "in" และ "ind" เป็น "In" และ"Ind"

โค้ด: เลือกทั้งหมด

str = "Enjoys doing Python in Mindphp.com"
print "Result : Function find() =",str.find("In")
print "Result : Function index() =",str.index("Ind")
Output 2
Find_2.png
Find_2.png (28.85 KiB) Viewed 3651 times
จะสังเกตุได้ว่า "In" และ "Ind" ข้อมูลเป็นเท็จเพราะเนื่องจากภาษาPythonนั้นซีเรียสกับตัวอักษรพิมเล็ก และพิมใหญ่จึงทำให้คำว่า "In" และ "Ind" ("I" พิมใหญ่)แสดงผลเป็นเท็จ โดยใน find() เมื่อเป็นเท็จจะแสดงค่าเป็น-1 แต่ index() เมื่อเป็นเท็จจะแสดงค่าว่างและขึ้น error
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 43