[::-1] trong Python với các ví dụ

⚡ Tóm tắt thông minh

[::-1] trong Python Đây là một biểu thức cắt mạnh mẽ có khả năng đảo ngược bất kỳ loại chuỗi nào. LessNội dung bao gồm các nguyên tắc cơ bản về lập chỉ mục, tham số lát cắt, sự khác biệt giữa a[-1] và a[::-1], đảo ngược danh sách và các ví dụ minh họa.

  • 🔁 Reverse Lát: [::-1] sử dụng điểm bắt đầu trống, điểm dừng trống, bước -1.
  • 📍 Lập chỉ mục: Chỉ số dương bắt đầu từ số 0; chỉ số âm bắt đầu từ cuối.
  • 🆚 [-1] so với [::-1]: [-1] trả về phần tử cuối cùng; [::-1] trả về toàn bộ chuỗi đảo ngược.
  • 📋 Danh sách và chuỗi: Hoạt động trên mọi đối tượng có thể lặp lại được lập chỉ mục, bao gồm danh sách, chuỗi, bộ dữ liệu và byte.
  • Nhanh và tự nhiên: Được lập trình bằng ngôn ngữ C, nhanh hơn nhiều so với... Python các vòng lặp.
  • 🤖 Hỗ trợ đoạn mã AI: Các công cụ AI giải thích các tham số của lát cắt và chuyển đổi các vòng lặp thành các lát cắt.

Python Slice Reverse

[::-1] trong là gì Python?

Python có nhiều cú pháp và ứng dụng khác nhau khi sử dụng 1. Nó có thể được biểu diễn dưới dạng [-1], hoặc nó cũng có thể được mô tả là [::-1].

Dấu ngoặc vuông trong ký hiệu trên thường chỉ định nhiều hơn một mục trong danh sách. Khi sử dụng dấu ngoặc vuông, người ta chỉ định nhiều mục hoặc một mục duy nhất trong danh sách.

Bất cứ khi nào lập trình viên xác định [::-1], điều đó gợi ý rằng chương trình phải duyệt từ đầu đến cuối trong một danh sách nhất định. Bạn có thể thực hiện lập chỉ mục trong python, giúp cắt và chia nhỏ một chuỗi có thể lặp lại, chẳng hạn như danh sách hoặc chuỗi.

Loại của [::-1] là gì trong Python?

Có hai cách để biểu thị 1 trong python như được mô tả bên dưới: –

  • Nó có thể được biểu diễn trong một dấu ngoặc vuông đơn giản không có dấu hai chấm và một phương pháp khác với cú pháp dấu hai chấm kép.
  • Một chuỗi lặp lại như danh sách hoặc chuỗi có thể được phân tích cú pháp đến cấp độ mục bằng cách sử dụng dấu ngoặc vuông [].
  • Trong dấu ngoặc [], người ta phải cung cấp các chỉ mục khác nhau.

Sau đây là cú pháp cho Danh sách như được hiển thị bên dưới: –

Cú pháp: -

SEQUENCE [START: STOP: STEP]

Cú pháp trên là một biểu diễn chung. Cú pháp cho dấu ngoặc vuông không có dấu hai chấm được biểu diễn như sau:

Cú pháp: -

SEQUENCE [-1]

Cú pháp cho dấu ngoặc vuông với hai dấu hai chấm được biểu diễn như sau:

Cú pháp: -

SEQUENCE[::-1]

Giải trình: -

  • Tham số bắt đầu đại diện cho số chỉ mục bắt đầu.
  • Tham số dừng đại diện cho số chỉ mục cuối cùng hoặc cuối cùng.
  • Bước tham số là một tham số tùy chọn cung cấp mức tăng cho một lựa chọn. Theo cú pháp, số bước được khởi tạo là -1.
  • Một chuỗi có thể là một chuỗi, danh sách hoặc từ điển theo cú pháp trên.

Sự khác biệt giữa a[-1] và a[::-1] trong Python

A [-1] được sử dụng cho các chỉ mục âm và giúp chọn các mục theo thứ tự ngược lại trong một danh sách nhất định. Nó biểu thị phần đầu của danh sách từ phần cuối của thứ tự ngược lại. Ở đây, [-1] biểu thị phần đầu tiên từ vị trí cuối cùng. Sau đây là ví dụ giải thích cách sử dụng A[-1]

Thí dụ: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The last element in the list is", b [-1])

Đầu ra:

The list is [7, 4, 5, 6]
The last element in the list is 6

A[::-1] và A[-1] trông giống nhau về mặt thực thi nhưng khác nhau về cú pháp. Cú pháp đầu tiên có ba tham số, trong khi cú pháp sau chỉ có một tham số duy nhất.

Hai tham số đầu tiên có trong A[::-1] thể hiện điểm bắt đầu và điểm dừng của một danh sách. Nếu tham số bắt đầu và dừng bị bỏ qua, nó sẽ trả về tất cả các mục trong danh sách.

Tham số cuối cùng này hiển thị đầu ra theo thứ tự ngược lại. Tham số này là tùy chọn.

Sau đây là một ví dụ giải thích cách sử dụng A[::-1]

Thí dụ: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reversed list as determined is", b [::-1])

Đầu ra:

The list is [7, 4, 5, 6]
The reversed list as determined is [6, 5, 4, 7]

Giải thích:

Trên đây Python mã không tạo ra cùng kết quả cho danh sách được tạo. Thay vào đó, nó cung cấp danh sách ngược cho danh sách cơ sở được cung cấp làm giá trị đầu vào.

Sự khác biệt nêu trên phụ thuộc vào... Pythoncác quy tắc lập chỉ mục của nó.

Cách thực hiện lập chỉ mục trong Python?

Để truy cập một mục trong danh sách python có thể lặp lại, cần phải thực hiện lập chỉ mục trong danh sách hoặc sử dụng chỉ mục được áp dụng với vị trí của mục có trong danh sách.

Python thực hiện lập chỉ mục dựa trên số 0 cho danh sách. Trong trường hợp lập chỉ mục dựa trên XNUMX, mục đầu tiên trong danh sách được gán ở vị trí XNUMX.

Hãy lấy một ví dụ và thử truy cập mục đầu tiên và mục thứ hai trong danh sách python.

Thí dụ: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

Đầu ra:

The list is [7, 4, 5, 6]
The reverse ordered list as determined is [6, 5, 4, 7]
The second found item in the list is 4
The first or beginning item in the list is 7

Giải thích:

Như đã thấy trong đoạn mã trên, để truy cập phần tử đầu tiên trong danh sách, 0 được áp dụng làm chỉ mục trong hình vuông của loại danh sách. Tương tự, 1 được áp dụng làm chỉ mục trong ô vuông của loại danh sách để truy cập phần tử thứ hai của danh sách. Việc lập chỉ mục của danh sách cũng có thể áp dụng cho từ điển, chuỗi và bộ dữ liệu.

Chúng ta hãy lấy một ví dụ về việc lập chỉ mục của gõ chuỗi trong python.

Ví dụ:

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

Đầu ra:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is U
The first or beginning item in the list is G

Giải thích:

Như đã thấy ở trên, đầu ra chia sẻ phần tử đầu tiên và phần tử thứ hai của chuỗi “GURU99”. Chuỗi phải được khởi tạo bằng dấu ngoặc kép. Python cũng cho phép chúng tôi thực hiện lập chỉ mục phủ định các danh sách, chuỗi hoặc từ điển có thể lặp lại.

Bằng cách cung cấp chỉ mục phủ định, người ta có thể truy cập phần tử cuối cùng cũng như phần tử cuối cùng thứ hai của danh sách. Chúng ta hãy lấy một ví dụ về việc lập chỉ mục phủ định của một chuỗi, như được hiển thị bên dưới.

Thí dụ: -

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [-2])
print (" The first or beginning item in the list is", b [-1])

Đầu ra:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is 9
The first or beginning item in the list is 9

Việc lập chỉ mục trả về một phần tử; việc cắt lát trả về một phạm vi.

Vai trò của việc cắt lát Python

Nói một cách đơn giản hơn, slice có nghĩa là cắt một cái gì đó. Nó cho phép cắt một danh sách trong python.

Ở đây, việc cắt lát quan trọng như thế nào trong Python:

  • Nó cho phép truy cập vào các phần tử cụ thể của danh sách lặp hoặc một chuỗi.
  • Nó cũng giúp xóa và sửa đổi chuỗi hoặc danh sách.
  • Nó làm cho trình tự lặp lại trở nên ngắn gọn và dễ đọc.
  • Nó cho phép chúng ta truy cập nhiều mục so với một phần tử duy nhất theo khái niệm lập chỉ mục.
  • Nó sử dụng các chỉ mục để mua các phạm vi mục cụ thể theo trình tự có thể lặp lại.
  • Các chỉ mục trong python luôn dựa trên 0, cho dù thực hiện cắt hay lập chỉ mục theo một chuỗi có thể lặp lại.

Việc cắt lát có thể đạt được dưới hai hình thức cơ bản.

  • Hình thức đầu tiên là cung cấp các tham số chỉ mục bắt đầu và dừng của một chuỗi. Bằng cách đó, chuỗi sẽ trả về tất cả các mục có thể có từ đầu chuỗi đến điểm dừng [kết thúc -1] của chuỗi.
  • Phương pháp thứ hai là cung cấp các tham số chỉ mục bắt đầu và dừng của chuỗi cùng với bước. Một bước cho phép trả lại các mục cụ thể hoặc đã chọn trong phạm vi các mục từ điểm bắt đầu đến điểm dừng.

Sau đây là cú pháp cho dạng cắt đầu tiên: –

Cú pháp:

SEQUENCE [START: STOP]

Sau đây là cú pháp cho dạng cắt lát thứ hai: –

Cú pháp:

SEQUENCE [START: STOP: STEP]

Chúng ta hãy lấy ví dụ về hình thức cắt lát đầu tiên như dưới đây.

Ví dụ

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:3]
print (" The substring in the list is", Substring)

Đầu ra:

The list is GURU99
The substring in the list is GUR

Chúng ta hãy lấy ví dụ về hình thức cắt lát thứ hai như dưới đây.

Ví dụ

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:9:2]
print (" The substring in the list is", Substring)

Đầu ra:

The list is GURU99
The substring in the list is GR9

Python cũng thực hiện cắt âm cho một chuỗi có thể lặp lại. Nó cho phép bạn truy cập vào một loạt các mục hoặc thành phần từ cuối chuỗi.

Chúng ta hãy lấy một ví dụ để truy cập ba phần tử cuối cùng của chuỗi như dưới đây.

Ví dụ

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[-5:-1]
print (" The substring in the list is", Substring)

Đầu ra:

The list is GURU99
The substring in the list is URU9

Làm thế nào để đảo ngược một Python liệt kê sử dụng [::-1] trong Python?

Việc cắt âm và lập chỉ mục âm có thể được áp dụng để đảo ngược một chuỗi hoặc danh sách trong python. Chúng ta hãy lấy một chuỗi có tên “GURU99” để minh họa một ví dụ.

Ví dụ

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[::-1]
print (" The reverse of string GURU99 is", Substring)

Đầu ra:

The list is GURU99
The substring in the list is 99URUG

Giải thích:

Ở đây, mã tìm nạp tất cả các phần tử chuỗi từ vị trí cuối cùng. Nó bắt đầu bằng -1 và tìm nạp tất cả các mục hoặc phần tử từ vị trí cuối cùng. Dòng mã trên yêu cầu python lùi lại từ phần tử cuối cùng và chuyển sang phần tử đầu tiên, dẫn đến một danh sách ngược hoặc một chuỗi.

Ví dụ về [::-1] trong Python

Việc cắt lát hoặc lập chỉ mục có thể được sử dụng để...tracRút gọn danh sách từ một danh sách dài hơn. Tương tự, nó có thể được sử dụng để...tracmột chuỗi con được trích từ một chuỗi lớn hơn.

Hãy lấy một ví dụ về cách sử dụng 1 trong Python để minh họa.tracChọn một danh sách nhỏ hơn từ một danh sách lớn hơn:

Ví dụ

Python Code:

b = [1, 2, 3, 4, 5, 6, 7]
slist = b[1::]
print("the smaller list from larger list is:",slist)

Đầu ra:

the smaller list from the larger list is: [2, 3, 4, 5, 6, 7]

Giải thích:

Trong đoạn mã trên, bỏ qua chỉ số đầu tiên, python extracHàm này lấy tất cả các phần tử bắt đầu từ vị trí thứ 2 của danh sách và tạo ra một danh sách nhỏ hơn. Điều này xảy ra vì Python sử dụng chỉ số bắt đầu từ 0 khi áp dụng chỉ số cho vị trí của các phần tử trong danh sách.

Câu Hỏi Thường Gặp

Đây là một lát cắt không có điểm bắt đầu, điểm kết thúc và bước nhảy là -1. Nó trả về một chuỗi mới với tất cả các phần tử theo thứ tự ngược lại.

Các trợ lý AI như Copilot và ChatGPT giải thích các tham số bắt đầu, dừng, bước và chuyển đổi các vòng lặp for dài dòng thành các biểu thức cắt ngắn gọn.

Đúng vậy. Các công cụ AI đề xuất list(reversed(seq)) khi tính dễ đọc quan trọng hơn tính ngắn gọn, và giải thích sự đánh đổi về thời gian và bộ nhớ của mỗi phương pháp.

a[-1] chỉ trả về phần tử cuối cùng. a[::-1] trả về toàn bộ chuỗi theo thứ tự ngược lại.

Đúng vậy. Nó hoạt động với mọi loại chuỗi, bao gồm danh sách, chuỗi ký tự, bộ dữ liệu, byte và mảng byte. Chuỗi trả về giữ nguyên kiểu dữ liệu ban đầu.

Việc cắt lát thường nhanh hơn vì nó chạy trong C và trả về một đối tượng hoàn chỉnh. Phương thức reversed() trả về một iterator lười biếng, thân thiện với bộ nhớ nhưng chậm hơn.

Không. Việc cắt lát trả về một chuỗi mới. Danh sách, chuỗi ký tự hoặc tuple ban đầu vẫn không thay đổi. Hãy sử dụng list.reverse() để đảo ngược danh sách tại chỗ.

Đúng vậy. NumPy hỗ trợ cú pháp cắt lát tương tự, trả về một dạng đảo ngược chứ không phải bản sao. Hãy sử dụng .copy() nếu bạn cần một mảng độc lập.

Tóm tắt bài viết này với: