Chuỗi (string) trong Python là dãy ký tự Unicode, bất biến (immutable). Có 3 cách tìm độ dài.
Cách 1: len() - Chuẩn và nhanh nhất
s = "Tutorials" print(len(s)) # 9
Độ phức tạp O(1), Python lưu độ dài trong object string.
Cách 2: Slicing + vòng lặp (Giáo dục)
s = "Tutorials"
count = 0
while s[count:]:
count += 1
print(count) # 9
Slicing s[count:] trả về chuỗi con từ index count. Khi count = len → chuỗi rỗng → False → dừng.
Cách 3: join() + count() (Tricky)
s = "Tutorials" length = s.join(s).count(s) + 1 print(length) # 9
Giải thích: "Tutorials".join("Tutorials") chèn "Tutorials" giữa mỗi ký tự → "TTutor...s". Số lần "Tutorials" xuất hiện = len - 1. +1 = len.
So sánh
| Cách | Độ phức tạp | Đánh giá |
|---|---|---|
| len() | O(1) | ✅ Chuẩn, nhanh, đọc hiểu |
| while slicing | O(n) | ⚠️ Chỉ để hiểu bản chất |
| join+count | O(n²) | ❌ Tricky, chậm, không thực tế |
Kết luận
Luôn dùng len(string). 2 cách còn lại chỉ mang tính học thuật/minh họa.