Ví dụ cắt lát Python
Bạn có thể trả về một dãy ký tự bằng cách sử dụng cú pháp slice Show
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. " Ghi chú. Ký tự đầu tiên có chỉ số 0 Cắt ngay từ đầuBằ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. " Lát đến cùngBằ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. " Lập chỉ mục tiêu cựcSử 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. " 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ạiNó 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ư 0s hoặc 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 ( 2 và 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ựcCó lẽ bạn đã biết rằng bạn có thể sử dụng chỉ số âm trong Python như vậy
Một cái gì đó như 4 đại diện cho phần tử cuối cùng của danh sách, 5 đại diện cho phần tử cuối cùng thứ hai, v.v.Dấu hai chấmNế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ì
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ử 6, 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Đằ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ư 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 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 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ạnhHầu hết thời gian, bạn muốn 8 1 của mình bằng cách
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
Tuy nhiên, nếu giá trị 60 là âm, thì các (45, 1214, 636) (45, 1214, 636)85 được thay thế bằng
Ví dụ: 64 về mặt kỹ thuật giống như 65Trương hợp đặc biệt. Sao chépCó 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. 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 67 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 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ặc 68 để sao chépMỗi phần tử thứ hai 80 (chẵn) hoặc 81 (lẻ)Mọi phần tử trừ phần tử đầu tiên 82Mọi phần tử trừ phần tử cuối cùng 83Mọi phần tử trừ phần tử đầu tiên và cuối cùng 84Mọi phần tử theo thứ tự đảo ngược 85Mọi phần tử trừ phần tử đầu tiên và phần tử bài tậpHiểu về vòng lặpMọi đối tượng 8 trong Python đều có phương thức 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, 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. 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ị 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 89, như vậy 8Điều này sẽ cung cấp cho chúng tôi bộ ba 37. Bây giờ chúng ta có thể tạo lại vòng lặp như vậy 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 8 sẽ làmTạo các lớp riêng có thể cắt đượcPython 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 9Giải trìnhPhương pháp my_list = list("Python")
print(my_list[0:-1]) |