Chuỗi (string) trong Python là dãy ký tự, có thể duyệt qua nhiều cách. Dưới đây là 5 phương pháp phổ biến.
Phương pháp 1: Vòng lặp for trực tiếp (Pythonic nhất)
string_inp = "tutorialspoint"
for ch in string_inp:
print(ch, end='')
# Kết quả: tutorialspoint
Phương pháp 2: Duyệt qua chỉ số (index)
string_inp = "tutorialspoint"
for i in range(len(string_inp)):
print(string_inp[i], end='')
Phương pháp 3: Dùng enumerate() - lấy cả index và giá trị
string_inp = "tutorialspoint"
for idx, ch in enumerate(string_inp):
print(f"[{idx}] = {ch}")
Phương pháp 4: Chỉ số âm (duyệt ngược)
string_inp = "tutorialspoint"
for i in range(-len(string_inp), 0):
print(string_inp[i], end='')
# Kết quả: tniopslairotut (ngược)
Phương pháp 5: Duyệt qua slicing
string_inp = "tutorialspoint"
for i in range(len(string_inp)):
print(string_inp[i:i+1], end='') # Mỗi lần lấy 1 ký tự
So sánh & Khuyến nghị
| Phương pháp | Độ đọc | Hiệu năng | Khi nào dùng |
|---|---|---|---|
| for ch in s | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Mặc định, chỉ cần giá trị |
| for i in range(len(s)) | ⭐⭐⭐ | ⭐⭐⭐ | Cần index để sửa list khác |
| enumerate(s) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Cần cả index và giá trị |
| Chỉ số âm | ⭐⭐ | ⭐⭐⭐ | Duyệt ngược |
| Slicing | ⭐⭐ | ⭐⭐ | Hiếm khi dùng cho duyệt đơn lẻ |
Kết luận
Ưu tiên for ch in string cho đơn giản, enumerate() khi cần index. Tránh dùng chỉ số thủ công trừ khi cần thiết.