Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีใช้เมธอด split() ใน Python

เมธอด split() ใน Python ใช้สำหรับแบ่งสตริง (string) ออกเป็นรายการ (list) โดยคั่นค่าต่างๆ ในรายการผลลัพธ์ด้วยตัวคั่น (separator) ที่กำหนด โดยค่าเริ่มต้นจะใช้ช่องว่าง (whitespace) เป็นตัวคั่น ตัวคั่นที่นิยมใช้รวมถึงช่องว่างและเครื่องหมายจุลภาค (comma)

การแบ่งเนื้อหาสตริงเป็นรายการใน Python

การแบ่งเนื้อหาของสตริงออกเป็นรายการ Python เป็นการดำเนินการที่พบบ่อย ตัวอย่างเช่น คุณอาจมีรายการส่วนผสมในสูตรอาหารที่ต้องการแบ่งออกเป็นรายการแยกต่างหาก

นี่คือที่มาของเมธอด split() ของสตริง Python เมธอด split() ช่วยให้คุณแบ่งสตริงออกเป็นรายการของสตริงย่อย (substring) ตามตัวคั่นที่คุณระบุ

บทช่วยสอนนี้จะอธิบายพื้นฐานของฟังก์ชัน split() ใน Python พร้อมตัวอย่าง จนกระทั่งคุณอ่านจบบทช่วยสอนนี้ คุณจะเชี่ยวชาญการใช้ฟังก์ชัน split() ของสตริงอย่างมั่นใจ

สตริง (Strings) ใน Python

สตริงคือชุดของอักขระ ช่วยให้คุณจัดเก็บและจัดการข้อมูลแบบข้อความในโปรแกรม Python สตริงเป็นหนึ่งในประเภทลำดับ (sequence types) ของ Python เนื่องจากจัดเก็บข้อมูลแบบลำดับชั้น

นี่คือตัวอย่างของสตริงใน Python:

example_string = "I am an example string!"

ในโค้ดนี้ เรากำหนดสตริง "I am an example string!" ให้กับตัวแปร example_string

เราสามารถใช้เมธอดสตริง Python หลายอย่างเพื่อแบ่งสตริงของเราออกเป็นส่วนย่อย split() เป็นหนึ่งในตัวอย่างของเมธอดสตริงที่ช่วยให้เราแบ่งสตริงได้ มาสำรวจวิธีการทำงานของเมธอดนี้กัน

เมธอด split() ของสตริง Python

เมธอด split() แบ่งสตริงออกเป็นรายการ สตริงจะถูกแยกตามตัวอักษรตัวคั่น โดยค่าเริ่มต้นตัวอักษรนี้คือช่องว่าง (white space)

string_name.split(separator, maxsplit)

split() เป็นฟังก์ชันในตัว (built-in function) หมายความว่าคุณไม่ต้องนำเข้าไลบรารีใดๆ เพื่อใช้ฟังก์ชัน split() นี่คือองค์ประกอบหลักของเมธอด split():

  • separator คืออักขระที่ฟังก์ชัน split() จะใช้แยกอักขระในสตริง โดยค่าเริ่มต้นจะใช้ตัวอักษรช่องว่างใดๆ เป็นตัวคั่น (ช่องว่าง, บรรทัดใหม่) พารามิเตอร์นี้เป็นทางเลือก (optional)
  • maxsplit กำหนดจำนวนการแบ่งสูงสุดที่ควรเกิดขึ้น โดยค่าเริ่มต้น maxsplit เท่ากับ -1 หมายความว่าจะมีการแบ่งไม่จำกัดจำนวน พารามิเตอร์นี้ก็เป็นทางเลือกเช่นกัน

เมธอด split() ของสตริง Python จะต่อท้ายที่ปลายของสตริง ซึ่งเป็นเรื่องปกติสำหรับเมธอดสตริง คุณไม่ได้ล้อมสตริงที่ต้องการแบ่งไว้ในเมธอด split() เหมือนกับการพิมพ์สตริง split() รับพารามิเตอร์สองค่า:

เมธอด split() คืนค่าสำเนาของสตริงที่แสดงในรูปแบบรายการ เนื่องจากสตริงเป็น immutable (ไม่สามารถเปลี่ยนแปลงได้) split() จึงไม่ปรับเปลี่ยนสตริงต้นฉบับของคุณ

มาเดินทางดูตัวอย่างของฟังก์ชัน split() ใน Python เพื่อสาธิตการทำงานกัน

การแบ่งสตริง Python: บทแนะนำทีละขั้นตอน

สมมติว่าคุณมีสตริงของส่วนผสมสำหรับมัฟฟินช็อกโกแลตชิปที่ต้องการแบ่งเป็นรายการ แต่ละส่วนผสมคั่นด้วยเครื่องหมายจุลภาคในสตริงของคุณ โดยใช้เมธอด split() คุณสามารถแบ่งสตริงส่วนผสมออกเป็นรายการได้

มาแบ่งรายการส่วนผสมของเราเป็นสตริงกัน:

ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",")
print(list_of_ingredients)

โค้ดของเราคืนค่า:

['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar', ' 400g self-raising flour', ' 100g chocolate chips']

ก่อนอื่น เรากำหนดตัวแปรชื่อ ingredients ตัวแปรนี้จัดเก็บรายการส่วนผสมของเรา แต่ละส่วนผสมในรายการของเราคั่นด้วยเครื่องหมายจุลภาค (,)

ต่อมา เราใช้เมธอด split() เพื่อแบ่งสตริง ingredients ของเราโดยใช้เครื่องหมายจุลภาค เราใช้พารามิเตอร์ separator เพื่อบอก Python ว่าสตริงของเราควรแยกด้วยเครื่องหมายจุลภาค จากนั้น เรากำหนดผลลัพธ์ของเมธอด split() ให้กับตัวแปร list_of_ingredients

เราพิมพ์ตัวแปร list_of_ingredients ออกมาที่คอนโซล คุณเห็นได้ว่าโค้ดของเราได้แปลงสตริงของเราเป็นรายการที่มี 6 ค่า: หนึ่งค่าสำหรับแต่ละส่วนผสม

การควบคุมจำนวนสตริงที่แบ่ง

เราสามารถใช้พารามิเตอร์ maxsplit เพื่อจำกัดว่าสตริงของเราควรแบ่งกี่ครั้ง สมมติว่าเราต้องการแบ่งเฉพาะส่วนผสมแรกสามอย่างในรายการ เราสามารถทำได้ด้วยโค้ดนี้:

ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",", 3)
print(list_of_ingredients)

โค้ดของเราคืนค่า:

['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips']

เรากำหนดค่าสำหรับพารามิเตอร์ maxsplit ในโค้ดของเรา ค่าของพารามิเตอร์นี้ตั้งไว้ที่ 3 เราได้กำหนดเครื่องหมายจุลภาคเป็นตัวคั่นอักขระของเรา เราทำเช่นนี้ในตัวอย่างแรกของเรา

พารามิเตอร์ maxsplit ทำให้สตริงของเราถูกแบ่งเป็นรายการสูงสุด 3 รายการ จากนั้นส่วนที่เหลือของสตริงจะถูกเพิ่มเข้าไปที่ท้ายของรายการของเรา

รายการของเราตอนนี้มีเพียง 4 รายการ สามรายการแรกคือส่วนผสมแต่ละอย่าง และรายการสุดท้ายในรายการของเราประกอบด้วยส่วนที่เหลือจากสตริงต้นฉบับของเรา

สรุป

เมธอด split() ของสตริง Python ช่วยให้คุณแบ่งสตริงออกเป็นรายการที่ตัวคั่นที่ระบุ ตัวอย่างเช่น คุณสามารถใช้ split() เพื่อแบ่งสตริงด้วยเครื่องหมายจุลภาค (,) หรือตัวอักษร J

บทช่วยสอนนี้อธิบายพื้นฐานของสตริงใน Python และวิธีใช้เมธอด split() ของสตริง ตอนนี้คุณพร้อมที่จะเริ่มใช้เมธอด split() อย่างมืออาชีพแล้ว!