Python:
ค้นหาความยาวของสตริง
วิธีการ:
# การใช้งานฟังก์ชัน len() แบบง่าย
my_string = "Hello, World!"
length = len(my_string)
print(length) # ผลลัพธ์: 13
# ความยาวในลูป
for i in range(len(my_string)):
print(my_string[i], end='') # ผลลัพธ์: Hello, World!
print() # สำหรับขึ้นบรรทัดใหม่
# รวมความยาวสตริงกับการดำเนินการอื่น
if len(my_string) > 10:
print("มันเป็นสตริงที่ยาว!") # ผลลัพธ์: มันเป็นสตริงที่ยาว!
ศึกษาเพิ่มเติม
ในอดีต, ฟังก์ชัน len()
ได้รับการยอมรับว่าเป็นวิธีหลักใน Python เพื่อหาความยาวของสตริง มันเรียบง่ายและรวดเร็ว ใต้ฮูด, สตริง Python คืออาร์เรย์ของไบต์ที่แทนตัวละคร Unicode, และ len()
นับเหล่านั้น ฟังก์ชันนี้ใช้ได้ไม่เพียงกับสตริง แต่กับอะไรก็ตามที่สามารถวนซ้ำได้
มีทางเลือกอื่นไหม? อาจไม่ค่อยถูกใช้กับสตริง, แต่คุณสามารถวนซ้ำผ่านสตริงและนับตัวอักษรด้วยตนเองได้—ไม่สะดวกและไม่มีประสิทธิภาพ ก่อนการสนับสนุน Unicode, ความยาวของสตริงบางครั้งอาจแตกต่างจากขนาดหน่วยความจำของมัน, แต่เนื่องจากสตริงของ Python 3 เป็นแบบ Unicode เป็นธรรมชาติ, len()
แสดงถึงจำนวนตัวอักษรอย่างแม่นยำ
ในแง่ของการบังคับใช้, สตริง Python เป็นออบเจกต์ที่มีเมตาดาต้ารวมถึงความยาว, ดังนั้น len()
จึงเป็นการดำเนินการ O(1) — เวลาคงที่, ไม่ว่าขนาดของสตริงจะเป็นเท่าใด นั่นก็เหมือนกับการคลิกนิ้วแล้วได้คำตอบ
ดูเพิ่มเติม
- เอกสารของ Python สำหรับ
len()
: https://docs.python.org/3/library/functions.html#len - Unicode และการเข้ารหัสสตริงใน Python: https://docs.python.org/3/howto/unicode.html
- ความซับซ้อนด้านเวลาของ Python สำหรับประเภทในตัว: https://wiki.python.org/moin/TimeComplexity