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

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])

Tự mình thử »

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])

Tự mình thử »



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. ])

Tự mình thử »


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ỗi

Ví 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])

Tự mình thử »



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ằng

Python 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ần

Tuy 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

Đằ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ợp

Chúng ta có thể kiểm tra xem hai cái có thực sự giống nhau không

Ví dụ cắt lát Python

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ừ
    my_list = list("Python")
    print(my_list[0:-1])
    6
  • 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

  • my_list = list("Python")
    print(my_list[0:-1])
    6 cho giá trị bắt đầu
  • (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

  • my_list = list("Python")
    print(my_list[0:-1])
    62 cho giá trị bắt đầu
  • my_list = list("Python")
    print(my_list[0:-1])
    63 cho giá trị dừng

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])
65

Trươ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])
67

my_list = list("Python")
print(my_list[0:-1])
6

Lư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ặc
my_list = list("Python")
print(my_list[0:-1])
68 để sao chépMỗi phần tử thứ hai
my_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ên
my_list = list("Python")
print(my_list[0:-1])
82Mọi phần tử trừ phần tử cuối cùng
my_list = list("Python")
print(my_list[0:-1])
83Mọi phần tử trừ phần tử đầu tiên và cuối cùng
my_list = list("Python")
print(my_list[0:-1])
84Mọi phần tử theo thứ tự đảo ngược
my_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])
80

Vì 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ậy

my_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ậy

my_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àm

Tạ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])
9

Giải trình

Phương pháp
my_list = list("Python")
print(my_list[0:-1])
39

my_list = list("Python")
print(my_list[-1])
1

Phươ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 ứng

Phương pháp
my_list = list("Python")
print(my_list[0:-1])
95

Để 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])
95

my_list = list("Python")
print(my_list[0:-1])
0

Lú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ày

Phầ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

cắt lát trong Python với ví dụ là gì?

Hàm đầu tiên nhận một đối số duy nhất 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ừ phần tử thứ mười? .

Phương pháp cắt lát trong Python là gì?

Cắt lát trong Python là tính năng cho phép truy cập các phần của chuỗi như chuỗi, bộ dữ liệu và danh sách . Bạn cũng có thể sử dụng chúng để sửa đổi hoặc xóa các mục của chuỗi có thể thay đổi, chẳng hạn như danh sách. Các lát cũng có thể được áp dụng trên các đối tượng của bên thứ ba như mảng NumPy, cũng như chuỗi Pandas và khung dữ liệu.

danh sách cắt lát đưa ra ví dụ là gì?

Có thể "cắt" một danh sách trong Python. Điều này sẽ trả về một phân đoạn cụ thể của một danh sách nhất định . Ví dụ: lệnh myList[2] sẽ trả về mục thứ 3 trong danh sách của bạn (hãy nhớ rằng Python bắt đầu đếm bằng số 0).

Một phạm vi () có thể được cắt Python không?

Hàm Slicing range() trong Python .