Chuyển đến nội dung chính
Mô-đun 4 · Bài học 2 trong tổng số 414/36 trong khóa học~10 min
Bài học theo mô-đun (2/4)

Cắt và lập chỉ mục

Trong Python, chuỗi là chuỗi ký tự: bạn có thể truy cập các ký tự riêng lẻ theo chỉ mục và khắc các chuỗi con bằng lát cắt cú pháp [start:stop:step] — chính xác như với danh sách.

Chỉ số tích cực và tiêu cực

Python
s = "Python"
#    0123456
#   -6-5-4-3-2-1
s[0]    # 'P'
s[5]    # 'n'
s[-1]   # 'n'   (ultimo)
s[-2]   # 'o'   (penultimo)

Quyền truy cập ngoài phạm vi tăng IndexError.

Đang cắt [start:stop:step]

Python
s = "Python"
s[0:3]    # 'Pyt'      indici 0,1,2 (stop ESCLUSO)
s[2:]     # 'thon'     dal 2 alla fine
s[:3]     # 'Pyt'      dall'inizio fino al 3 (escluso)
s[:]      # 'Python'   copia completa
s[-3:]    # 'hon'      ultimi 3
s[:-2]    # 'Pyth'     tutto tranne gli ultimi 2

Không giống như việc lập chỉ mục, cắt lát KHÔNG gây ra lỗi nếu các chỉ mục bị loại bỏ trong phạm vi: nó khắc phục những gì nó có thể.

Đối số thứ ba: step

Python
s = "Python"
s[::2]    # 'Pto'    salta uno sì uno no
s[1::2]   # 'yhn'    dispari
s[::-1]   # 'nohtyP' INVERSIONE (idiom famoso)

s[::-1] là cách thành ngữ để đảo ngược chuỗi.

Chiều dài và ngăn chặn

Python
len("Python")        # 6
"th" in "Python"     # True
"java" in "Python"   # False

Chỉ số âm và bước cắt lát

Cú pháp cắt hoàn chỉnh là s[start:stop:step]. Nếu bạn bỏ qua start và stop nhưng đặt giá trị âm step của -1 (s[::-1]), bạn sẽ đảo ngược chuỗi. Chỉ số âm -1 luôn đại diện cho ký tự cuối cùng của chuỗi, -2 là ký tự thứ hai đến cuối cùng, v.v.

Hãy thử nó

tập thể dục#python.m4.l2.e1
Nỗ lực: 0Đang tải…

Cho `word = 'PROGRAMMAZIONE'`, lấy đảo ngược của nó trong `reversed_word`. Đánh giá `từ_đảo ngược`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

từ[::-1]

Giải pháp khả dụng sau 3 lần thử

Xem lại bài tập

tập thể dục#python.m4.l2.e2
Nỗ lực: 0Đang tải…

Cho `email = 'ada@example.com'`, trích xuất miền (mọi thứ sau '@') thành `domain` bằng cách sử dụng tính năng cắt sau khi tìm chỉ mục bằng .find. Đánh giá `tên miền`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

email[email.find('@') + 1:]

Giải pháp khả dụng sau 3 lần thử

Thử thách bổ sung

tập thể dục#python.m4.l2.e3
Nỗ lực: 0Đang tải…

Cho chuỗi \`word = "pythonista"\`, hãy sử dụng tính năng cắt để trích xuất 3 ký tự đầu tiên và 3 ký tự cuối cùng rồi nối chúng thành một chuỗi mới \`short_word\`. Cuối cùng, đánh giá \`short_word\` (nó sẽ mang lại \`'pytsta'\`).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.

Giải pháp khả dụng sau 3 lần thử