Bạn có thể trả về một dãy ký tự bằng cách sử dụng cú pháp slice
Chỉ định chỉ mục bắt đầu và chỉ mục kết thúc, được phân tách bằng dấu hai chấm, để trả về một phần của chuỗi
Ví dụ
Nhận các ký tự từ vị trí 2 đến vị trí 5 [không bao gồm]
b = "Xin chào, Thế giới. "
print[b[2. 5]]
Ghi chú. Ký tự đầu tiên có chỉ số 0
Cắt ngay từ đầu
Bằng cách loại bỏ chỉ mục bắt đầu, phạm vi sẽ bắt đầu ở ký tự đầu tiên
Ví dụ
Nhận các ký tự từ đầu đến vị trí 5 [không bao gồm]
b = "Xin chào, Thế giới. "
print[b[. 5]]
Lát đến cùng
Bằng cách loại bỏ chỉ số kết thúc, phạm vi sẽ đi đến cuối
Ví dụ
Lấy các ký tự từ vị trí 2 và cho đến hết
b = "Xin chào, Thế giới. "
print[b[2. ]]
Lập chỉ mục tiêu cực
Sử dụng các chỉ mục phủ định để bắt đầu lát cắt từ cuối chuỗiVí dụ
Nhận các ký tự
Từ. "o" trong "Thế Giới. " [vị trí -5]
Đến, nhưng không bao gồm. "d" trong "Thế giới. " [vị trí -2]
b = "Xin chào, Thế giới. "
print[b[-5. -2]]
Hàm slice[] trong Python được sử dụng để lấy một lát các phần tử từ tập hợp các phần tử. Python cung cấp hai hàm lát quá tải. Hàm đầu tiên nhận một đối số trong khi hàm thứ hai nhận ba đối số và trả về một đối tượng lát cắt. Đối tượng lát cắt này có thể được sử dụng để lấy phần phụ của bộ sưu tập. Ví dụ: nếu chúng ta muốn lấy hai phần tử đầu tiên từ danh sách mười phần tử? Ở đây có thể sử dụng slice. Chữ ký của chức năng này được đưa ra dưới đây
Chữ ký
Thông số
bắt đầu. chỉ số bắt đầu cắt lát
dừng lại. Chỉ số kết thúc của lát cắt
bước chân. Số bước nhảy
Trở lại
Nó trả về một đối tượng lát
Hãy xem một số ví dụ về hàm slice[] để hiểu chức năng của nó
Hàm slice[] trong Python Ví dụ 1
đầu ra
slice[None, 5, None] slice[0, 5, 3]
Hàm slice[] trong Python Ví dụ 2
đầu ra
Hàm slice[] trong Python Ví dụ 3
đầu ra
[45, 1214, 636] [66, 41, 68]
Hàm slice[] trong Python Ví dụ 4
đầu ra
[45, 1214, 636] [45, 1214, 636]
Trong Python, một số đối tượng như
my_list = list["Python"]
print[my_list[0:-1]]
0s hoặc my_list = list["Python"]
print[my_list[0:-1]]
1s có thể cắt lát. Ví dụ: bạn có thể lấy phần tử đầu tiên của danh sách hoặc chuỗi bằngPython sử dụng dấu ngoặc vuông [
my_list = list["Python"]
print[my_list[0:-1]]
2 và my_list = list["Python"]
print[my_list[0:-1]]
3] để truy cập các phần tử đơn lẻ của các đối tượng có thể được phân tách thành các phầnTuy nhiên, có nhiều thứ bên trong các dấu ngoặc vuông này hơn là chỉ truy cập các phần tử riêng lẻ
Lập chỉ mục tiêu cực
Có lẽ bạn đã biết rằng bạn có thể sử dụng chỉ số âm trong Python như vậy
my_list = list["Python"]
print[my_list[-1]]
Một cái gì đó như
my_list = list["Python"]
print[my_list[0:-1]]
4 đại diện cho phần tử cuối cùng của danh sách, my_list = list["Python"]
print[my_list[0:-1]]
5 đại diện cho phần tử cuối cùng thứ hai, v.v.Dấu hai chấm
Nếu bạn muốn truy xuất nhiều hơn một phần tử từ danh sách thì sao? . Trong Python, không có vấn đề gì
my_list = list["Python"]
print[my_list[0:-1]]
Hoặc, nếu bạn muốn mọi phần tử chẵn trong danh sách của mình thì sao?. e. phần tử
my_list = list["Python"]
print[my_list[0:-1]]
6, my_list = list["Python"]
print[my_list[0:-1]]
7, v.v. ? . Chúng ta có thể viết nó nhưĐối tượng my_list = list["Python"]
print[my_list[0:-1]]
8
my_list = list["Python"]
print[my_list[0:-1]]
Đằng sau hậu trường, chỉ mục chúng tôi sử dụng để truy cập các mục riêng lẻ của một đối tượng giống như
my_list = list["Python"]
print[my_list[0:-1]]
1 bao gồm ba giá trị. [45, 1214, 636] [66, 41, 68]50. Các đối tượng này được gọi là đối tượng lát cắt và có thể được tạo thủ công bằng hàm
my_list = list["Python"]
print[my_list[0:-1]]
8 tích hợpChúng ta có thể kiểm tra xem hai cái có thực sự giống nhau không
Hãy nhìn vào đồ họa trên. Chữ cái
[45, 1214, 636] [66, 41, 68]52 là phần tử đầu tiên trong danh sách của chúng tôi, do đó nó có thể được lập chỉ mục bởi
my_list = list["Python"]
print[my_list[0:-1]]
6 [xem các số trong hộp màu xanh lá cây]. Danh sách có độ dài là [45, 1214, 636] [66, 41, 68]54, và do đó, phần tử đầu tiên có thể được lập chỉ mục theo cách khác bởi
[45, 1214, 636] [66, 41, 68]55 [lập chỉ mục phủ định được hiển thị trong hộp màu xanh lam]
Các số trong hộp màu lục và màu lam xác định các phần tử đơn lẻ của danh sách. Bây giờ, hãy nhìn vào những con số trong ô màu cam. Chúng xác định các chỉ số lát của danh sách. Nếu chúng ta sử dụng
[45, 1214, 636] [66, 41, 68]56 và
[45, 1214, 636] [66, 41, 68]57 của lát cắt, mọi phần tử nằm giữa các số này đều được bao phủ bởi lát cắt. Vài ví dụ
Đó chỉ là một cách dễ dàng để nhớ rằng giá trị
[45, 1214, 636] [66, 41, 68]56 là bao gồm và giá trị
[45, 1214, 636] [66, 41, 68]59 là độc quyền
mặc định lành mạnh
Hầu hết thời gian, bạn muốn
my_list = list["Python"]
print[my_list[0:-1]]
8 my_list = list["Python"]
print[my_list[0:-1]]
1 của mình bằng cách- bắt đầu từ
6my_list = list["Python"] print[my_list[0:-1]]
- dừng lại ở cuối
- bước với chiều rộng của
[45, 1214, 636] [45, 1214, 636]
83
Do đó, đây là những giá trị mặc định và có thể được bỏ qua trong cú pháp
[45, 1214, 636] [45, 1214, 636]84 của chúng tôi
[45, 1214, 636] [66, 41, 68]5
Về mặt kỹ thuật, bất cứ khi nào chúng ta bỏ qua một số giữa hai dấu hai chấm, những cái bị bỏ qua sẽ có giá trị là
[45, 1214, 636] [45, 1214, 636]85
Và lần lượt, đối tượng lát cắt sẽ thay thế
[45, 1214, 636] [45, 1214, 636]85 bằng
6 cho giá trị bắt đầumy_list = list["Python"] print[my_list[0:-1]]
[45, 1214, 636] [45, 1214, 636]
88 cho giá trị dừng[45, 1214, 636] [45, 1214, 636]
83 cho giá trị bước
Tuy nhiên, nếu giá trị
my_list = list["Python"]
print[my_list[0:-1]]
60 là âm, thì các [45, 1214, 636] [45, 1214, 636]85 được thay thế bằng
62 cho giá trị bắt đầumy_list = list["Python"] print[my_list[0:-1]]
63 cho giá trị dừngmy_list = list["Python"] print[my_list[0:-1]]
Ví dụ:
my_list = list["Python"]
print[my_list[0:-1]]
64 về mặt kỹ thuật giống như my_list = list["Python"]
print[my_list[0:-1]]
65Trương hợp đặc biệt. Sao chép
Có một trường hợp đặc biệt để cắt lát có thể được sử dụng như một phím tắt, đôi khi
Nếu bạn chỉ sử dụng các giá trị mặc định, tôi. e.
my_list = list["Python"]
print[my_list[0:-1]]
66 nó sẽ cung cấp cho bạn các mặt hàng giống hệt nhau[45, 1214, 636] [45, 1214, 636]8
Các yếu tố trong danh sách thực sự giống nhau. Tuy nhiên, đối tượng danh sách không phải là. Chúng tôi có thể kiểm tra điều đó bằng cách sử dụng nội dung dựng sẵn
my_list = list["Python"]
print[my_list[0:-1]]
67my_list = list["Python"]
print[my_list[0:-1]]
6Lưu ý rằng mọi thao tác cắt lát đều trả về một đối tượng mới. Một bản sao trình tự của chúng tôi được tạo khi chỉ sử dụng
my_list = list["Python"]
print[my_list[0:-1]]
68Đây là hai đoạn mã để minh họa sự khác biệt
ví dụ
Một số ví dụ thường dùng
Trường hợp sử dụng Mã PythonMọi phần tử không có lát cắt, hoặcmy_list = list["Python"]
print[my_list[0:-1]]
68 để sao chépMỗi phần tử thứ haimy_list = list["Python"]
print[my_list[0:-1]]
80 [chẵn] hoặc my_list = list["Python"]
print[my_list[0:-1]]
81 [lẻ]Mọi phần tử trừ phần tử đầu tiênmy_list = list["Python"]
print[my_list[0:-1]]
82Mọi phần tử trừ phần tử cuối cùngmy_list = list["Python"]
print[my_list[0:-1]]
83Mọi phần tử trừ phần tử đầu tiên và cuối cùngmy_list = list["Python"]
print[my_list[0:-1]]
84Mọi phần tử theo thứ tự đảo ngượcmy_list = list["Python"]
print[my_list[0:-1]]
85Mọi phần tử trừ phần tử đầu tiên và phần tử bài tập
Hiểu về vòng lặp
Mọi đối tượng
my_list = list["Python"]
print[my_list[0:-1]]
8 trong Python đều có phương thức my_list = list["Python"]
print[my_list[0:-1]]
89. Phương thức này sẽ trả về một cặp [[45, 1214, 636] [66, 41, 68]56,
[45, 1214, 636] [66, 41, 68]59,
my_list = list["Python"]
print[my_list[0:-1]]
60] mà bạn có thể xây dựng lại một vòng lặp tương đương với thao tác cắt. Nghe có vẻ phức tạp? Hãy bắt đầu với một trình tự
Sau đó, chúng tôi tạo một đối tượng lát. Hãy lấy mọi phần tử thứ hai, tôi. e.
my_list = list["Python"]
print[my_list[0:-1]]
80Vì chúng tôi đang sử dụng
[45, 1214, 636] [45, 1214, 636]85, nên đối tượng lát cắt cần tính toán các giá trị
my_list = list["Python"]
print[my_list[0:-1]]
35 thực tế dựa trên độ dài của chuỗi của chúng tôi. Do đó, để tăng gấp ba chỉ mục của chúng ta, chúng ta cần chuyển độ dài cho phương thức my_list = list["Python"]
print[my_list[0:-1]]
89, như vậymy_list = list["Python"]
print[my_list[0:-1]]
8Điều này sẽ cung cấp cho chúng tôi bộ ba
my_list = list["Python"]
print[my_list[0:-1]]
37. Bây giờ chúng ta có thể tạo lại vòng lặp như vậymy_list = list["Python"]
print[my_list[0:-1]]
3Điều này truy cập các phần tử trong danh sách của chúng ta giống như bản thân
my_list = list["Python"]
print[my_list[0:-1]]
8 sẽ làmTạo các lớp riêng có thể cắt được
Python sẽ không phải là Python nếu bạn không thể sử dụng đối tượng slice trong các lớp của riêng mình. Thậm chí tốt hơn, các lát không cần phải là giá trị số. Chúng ta có thể xây dựng một sổ địa chỉ có thể chia cắt theo chỉ số chữ cái
my_list = list["Python"]
print[my_list[0:-1]]
9Giải trình
Phương pháp my_list = list["Python"]
print[my_list[0:-1]]
39
my_list = list["Python"]
print[my_list[0:-1]]
my_list = list["Python"]
print[my_list[-1]]
1Phương pháp này lọc tất cả các địa chỉ thuộc về một
my_list = list["Python"]
print[my_list[0:-1]]
90 bắt đầu bằng bất kỳ chữ cái nào trong đối số my_list = list["Python"]
print[my_list[0:-1]]
91. Đầu tiên, chúng tôi làm cho chức năng không phân biệt chữ hoa chữ thường bằng cách chuyển đổi my_list = list["Python"]
print[my_list[0:-1]]
91 của chúng tôi thành chữ hoa. Sau đó, chúng tôi sử dụng danh sách my_list = list["Python"]
print[my_list[0:-1]]
93 nội bộ của mình. Điều kiện bên trong kiểm tra mức độ hiểu danh sách nếu có bất kỳ chữ cái nào được cung cấp khớp với chữ cái đầu tiên của giá trị my_list = list["Python"]
print[my_list[0:-1]]
90 tương ứngPhương pháp my_list = list["Python"]
print[my_list[0:-1]]
95
my_list = list["Python"]
print[my_list[0:-1]]
Để làm cho các đối tượng
my_list = list["Python"]
print[my_list[0:-1]]
96 của chúng ta có thể cắt được, chúng ta cần ghi đè lên phương thức dấu gạch dưới kép kỳ diệu của Python my_list = list["Python"]
print[my_list[0:-1]]
95my_list = list["Python"]
print[my_list[0:-1]]
0Lúc đầu, chúng tôi kiểm tra xem khóa của bạn có phải là ________ 30 không. Đây sẽ là trường hợp nếu chúng ta truy cập đối tượng của mình bằng một chữ cái trong ngoặc vuông như vậy.
my_list = list["Python"]
print[my_list[0:-1]]
99. Chúng tôi chỉ có thể trả lại bất kỳ địa chỉ nào có tên bắt đầu bằng chữ cái đã cho cho trường hợp tầm thường nàyPhần thú vị là khi
my_list = list["Python"]
print[my_list[-1]]
10 là một đối tượng my_list = list["Python"]
print[my_list[0:-1]]
8. Ví dụ: quyền truy cập như my_list = list["Python"]
print[my_list[-1]]
12 sẽ phù hợp với điều kiện đó. Đầu tiên, chúng tôi xác định tất cả các chữ cái theo thứ tự bảng chữ cái giữa my_list = list["Python"]
print[my_list[-1]]
13 và my_list = list["Python"]
print[my_list[-1]]
14. Mô-đun my_list = list["Python"]
print[my_list[-1]]
15 trong Python liệt kê tất cả các chữ cái [tiếng Latinh] trong my_list = list["Python"]
print[my_list[-1]]
16. Chúng tôi sử dụng một my_list = list["Python"]
print[my_list[0:-1]]
8 để trích xuất các chữ cái giữa các chữ cái đã cho. Lưu ý my_list = list["Python"]
print[my_list[-1]]
18 trong tham số lát thứ hai. Bằng cách này, chúng tôi đảm bảo rằng chữ cái cuối cùng bao gồm, không loại trừSau khi chúng tôi xác định tất cả các chữ cái trong chuỗi của mình, chúng tôi sử dụng
my_list = list["Python"]
print[my_list[0:-1]]
39 mà chúng tôi đã thảo luận. Điều này mang lại cho chúng tôi kết quả chúng tôi muốn