Cách đảo ngược danh sách trong Python bằng cách cắt

Trong Python, list là một kiểu dữ liệu quan trọng và được sử dụng rộng rãi. Nhiều giá trị có thể được lưu trữ trong danh sách [có thể không đồng nhất]. Danh sách có thể thay đổi [có thể thay đổi giá trị bên trong] và được sắp xếp theo thứ tự [có nghĩa là các phần tử sẽ giữ nguyên thứ tự như bạn đã chỉ định trong khi khai báo danh sách

Do có nhiều tính năng như vậy nên chúng ta cũng có thể sử dụng thao tác đảo ngược trên danh sách. Đảo ngược danh sách ở đây đề cập đến việc sửa đổi trực tiếp các phần tử danh sách ban đầu thay vì tạo một danh sách mới và sao chép các phần tử ở đó theo thứ tự ngược lại

phạm vi bài viết

  • Bài viết này sẽ chỉ cho bạn cách đảo ngược danh sách trong Python bằng ba phương thức khác nhau, được liệt kê bên dưới
    1. phương pháp đảo ngược []
    2. phương pháp đảo ngược []
    3. phương pháp cắt lát
  • Trong bài viết này, mọi cách tiếp cận để đảo ngược danh sách đều được giải thích bằng một ví dụ

Giới thiệu

Trong khi giải quyết một số vấn đề lớn, người ta có thể cần phải đảo ngược danh sách. Là một lập trình viên, trong khi nghiên cứu kiến ​​thức cơ bản về python, một người có thể nhận thấy rằng việc đảo ngược chuỗi trong python có thể giúp bạn truy cập dữ liệu cần thiết nhanh hơn thay vì duyệt qua danh sách theo thứ tự bình thường rồi theo thứ tự đảo ngược

Giả sử bạn đã nhập một chuỗi, chẳng hạn như tên của bạn và bạn muốn in các bảng chữ cái trong chuỗi đó theo thứ tự ngược lại. Trong trường hợp này, cần đảo ngược danh sách trong Python

Và tất cả chúng ta đều biết việc sử dụng các hàm và cấu trúc dữ liệu có sẵn của Python dễ dàng như thế nào, chẳng hạn như danh sách [cấu trúc dữ liệu], cho phép bạn lưu trữ và thao tác các loại dữ liệu khác nhau trong danh sách

Vì vậy, bây giờ, chúng ta sẽ xem cách đảo ngược danh sách trong Python trong phần tiếp theo của bài viết này

Cú pháp đảo ngược[] trong Python

Trong Python, một hàm tích hợp có tên là đảo ngược [] được sử dụng để đảo ngược danh sách. Đây là một cách đơn giản và nhanh chóng để đảo ngược một danh sách và nó đòi hỏi ít bộ nhớ

cú pháp. danh sách tên. đảo ngược[]

Ở đây, list_name có nghĩa là bạn phải viết tên của danh sách, tên này phải được đảo ngược

Ghi chú. - Hàm reverse[] này không trả về bất kỳ giá trị nào;

Hàm này trả về giá trị Không có vì nó trực tiếp sửa đổi danh sách ban đầu. Hãy hiểu điều này với một ví dụ

Mã số

Test_list = [1, 2, 3, 4, 5]
Test_list.reverse[]
print[Test_list]  # Output:  [5,4,3,2,1]

New_list = Test_list.reverse[]
print[New_list]  # Output: None

đầu ra

Như được hiển thị trong tập lệnh ở trên, rõ ràng là hàm đảo ngược [] trực tiếp sửa đổi danh sách ban đầu tại chỗ thay vì trả về một giá trị

Có những ưu và nhược điểm của chức năng này. -

Ưu điểm- Không cần thêm dung lượng để lưu trữ danh sách đã đảo ngược vì tính năng đảo ngược tại chỗ của nó

Nhược điểm- Hàm này ghi đè lên chính danh sách ban đầu, vì vậy không thể truy cập danh sách ban đầu [chỉ có thể truy xuất danh sách này sau khi đảo ngược chuỗi một lần nữa]

Nhưng danh sách có thể được sao chép trước khi đảo ngược danh sách trong danh sách mới để lưu danh sách gốc. Điều này được thực hiện bằng hàm copy[] trong python

Hãy lấy một ví dụ

Test_list = [1, 2, 3, 4, 5]
New_list = Test_list.copy[]
New_list.reverse[]

print["Original List: ", Test_list]  # Output: [1,2,3,4,5]
print["Reversed List: ", New_list]  # Output: [5,4,3,2,1]

Như trong ví dụ trên, có một danh sách là Test_list; . Vì vậy, chúng tôi sẽ không trực tiếp đảo ngược danh sách ban đầu; . Vì vậy, khi chúng tôi in New_list đó, nó sẽ in danh sách đảo ngược dưới dạng đầu ra

Tham số của đảo ngược [] trong Python

Hàm reverse[] này không cần bất kỳ tham số nào và chỉ sửa đổi danh sách ban đầu. Chúng ta phải đặt tên của danh sách [phải đảo ngược] cùng với dấu chấm [. ], sau đó sử dụng hàm reverse[] này

Để làm ví dụ, bạn có thể tham khảo cái trước, ở đó có thể quan sát thấy rằng phương pháp đảo ngược [] được sử dụng ở đó, cái này không nhận bất kỳ tham số nào với nó

Như vậy rõ ràng là hàm reverse[] này không cần bất kỳ loại tham số nào.

Giá trị trả về của đảo ngược [] trong Python

Hàm reverse[] không trả về bất kỳ giá trị nào. Điều này là do nó trực tiếp sửa đổi tại chỗ danh sách ban đầu mà không cần tạo danh sách hoặc không gian mới

Hãy lấy một ví dụ

test_list = [1, 2, 3]
x = test_list.reverse[]

print[x]  # Output: None
print[test_list]  # Output: [3, 2, 1]

Như trong đoạn mã trên, chúng tôi đã lưu trữ giá trị bị đảo ngược trong x, nhưng vì chúng tôi biết rằng nó trả về Không, vì vậy khi x được in, Không có kết quả đầu ra. Trong khi khi test_list được in, danh sách đảo ngược xuất hiện dưới dạng đầu ra phải được

Phương pháp 1- Đảo ngược danh sách bằng danh sách. phương pháp đảo ngược []

Danh sách này. phương pháp đảo ngược [] trong python cho phép bạn đảo ngược danh sách tại chỗ. Nó thực hiện các thay đổi tại chỗ đối với danh sách ban đầu, vì vậy không cần thêm bộ nhớ. Nhược điểm là danh sách trước đó [gốc] bị thay đổi

Trong Python, một hàm tích hợp có tên là đảo ngược [] được sử dụng để đảo ngược danh sách. Cách đơn giản và nhanh chóng này để đảo ngược danh sách cần ít bộ nhớ

cú pháp. danh sách tên. reverse[] Ở đây, list_name có nghĩa là bạn phải viết tên của danh sách, tên này phải được đảo ngược

Hãy lấy một ví dụ

Test_list = [1, 2, 3, 4, 5]
New_list = Test_list.copy[]
New_list.reverse[]

print[“Original List: ”, Test_list]  # Output: [1,2,3,4,5]
print[“Reversed List: ”, New_list]  # Output: [5,4,3,2,1]

Như trong ví dụ trên, một danh sách là Test_list; . Vì vậy, chúng tôi sẽ không trực tiếp đảo ngược danh sách ban đầu; . Vì vậy, khi chúng tôi in danh sách đó [New_list], nó sẽ in danh sách đảo ngược dưới dạng đầu ra

Phương pháp này nhanh chóng, đơn giản và dễ hiểu. Đây sẽ là tùy chọn tôi muốn sử dụng bất cứ khi nào tôi cần đảo ngược danh sách tại chỗ và không muốn tạo thêm một bản sao, nhưng tôi không ngại sửa đổi bản gốc

Phương pháp thứ 2- Đảo ngược danh sách bằng cách sử dụng hàm tích hợp Reverse[]

Hàm dựng sẵn Reverse[] này chỉ trả về trình vòng lặp, được sử dụng để truy cập các phần tử theo thứ tự đảo ngược. Trong chức năng này, không có danh sách mới nào được tạo và không có danh sách gốc nào được sửa đổi. Hàm này lấy danh sách làm tham số phải đảo ngược

Trình vòng lặp lặp lại toàn bộ danh sách đã cho theo thứ tự đảo ngược để các phần tử có thể được in theo thứ tự đó hoặc được lưu trữ trong danh sách mới để in sau

cú pháp. đảo ngược [list_name] Ở đây, list_name có nghĩa là bạn phải viết tên của danh sách, tên này phải được đảo ngược

Hãy lấy một ví dụ

Mã số

test_list = [1, 2, 3, 4, 5]
for ele in reversed[test_list]:
    print[ele]

đầu ra

Như trong ví dụ trên, có một danh sách tên là test_list, và chúng ta đã sử dụng hàm Reverse[] bên trong vòng lặp 'for', giúp lặp qua tất cả các phần tử danh sách theo thứ tự ngược lại [iterator bắt đầu từ phần tử cuối cùng và kết thúc

Nhưng vấn đề ở đây là các phần tử được in riêng biệt, và nếu chúng ta muốn tất cả chúng trong danh sách theo thứ tự đảo ngược thì sao?

test_list=[1,2,3,4,5]
print[list[reversed[test_list]]]  # Output: [5,4,3,2,1]

Các phần tử cũng có thể được thêm vào danh sách mới trong khi lặp lại và sau đó in danh sách mới đó lần cuối. Hãy lấy một ví dụ

Mã số

test_list = [1, 2, 3, 4, 5]
new_list = []
for ele in reversed[test_list]:
    new_list.append[ele]

print[new_list]  # Output: [5,4,3,2,1]

đầu ra

Thuận lợi

  1. Trả về một iterator lặp lại danh sách theo thứ tự ngược lại
  2. Không cần sửa đổi danh sách ban đầu

Phương pháp thứ 3- Đảo ngược danh sách bằng kỹ thuật cắt lát

Khi python đưa ra một tính năng ấn tượng đó là cắt danh sách. Danh sách cắt hoạt động với cú pháp đưa ra dưới đây

cú pháp. list_name[bắt đầu. dừng lại. step] Ở đây, list_name có nghĩa là bạn phải viết tên của danh sách, tên này phải được đảo ngược. Tham số bắt đầu cho biết giá trị từ đó người dùng muốn cắt danh sách hoặc lặp lại danh sách đó. Tham số dừng cho biết giá trị cho đến khi người dùng muốn cắt danh sách hoặc lặp lại danh sách đó. Tham số bước cho biết giá trị mà người dùng muốn bỏ qua các phần tử giữa chỉ mục bắt đầu và dừng của danh sách

Hãy lấy một ví dụ

  • [. . ] Nếu bạn để trống các tham số đó, nó sẽ tạo một bản sao của danh sách. Hãy lấy một ví dụ

Mã số

test_list = [1, 2, 3, 4]
print[test_list[::]]  # Output : [1,2,3,4]

đầu ra

Như bạn có thể thấy từ tập lệnh trên, bắt đầu, dừng và bước được truyền dưới dạng tham số mà không có bất kỳ giá trị nào bên trong chúng, điều này cho biết rằng danh sách sẽ thường lặp lại từ chỉ mục thứ 0 đến chỉ mục thứ n với một bước theo mặc định

  • [. . n] Nếu bạn chỉ điền tham số 'bước', nó sẽ tạo một bản sao, nhưng danh sách [bản sao] đó sẽ có mọi phần tử thứ n tiếp theo của danh sách gốc

Hãy lấy một ví dụ

Mã số

________số 8_______

Như bạn có thể thấy từ tập lệnh trên, bắt đầu và dừng được truyền dưới dạng tham số mà không có bất kỳ giá trị nào bên trong chúng, nhưng bước được truyền với giá trị '2', có nghĩa là hàm này sẽ in danh sách từ đầu đến cuối mỗi thứ 2

  • [. . -1] Nếu bạn chỉ chuyển -1 dưới dạng tham số bước, thì nó sẽ in danh sách theo thứ tự ngược lại. Vì vậy, chúng ta có thể sử dụng điều này để in danh sách đảo ngược như dưới đây

Hãy lấy một ví dụ

Mã số

test_list = [1, 2, 3, 4, 5]
print[test_list[::-1]]  # Output: [5,4,3,2,1]

đầu ra

Như bạn có thể thấy từ tập lệnh trên, bắt đầu và dừng được truyền dưới dạng tham số mà không có bất kỳ giá trị nào bên trong chúng. Tuy nhiên, bước này được chuyển với giá trị '-1', có nghĩa là trình lặp sẽ bắt đầu lặp từ phần tử cuối cùng [5] cho đến phần tử đầu tiên [1]

Từ cách tiếp cận này, chúng tôi đang lặp lại tất cả các phần tử trong danh sách nhưng theo thứ tự ngược lại từ điểm dừng đến điểm bắt đầu

Làm cách nào để đảo ngược danh sách trong Python?

Trong Python, hàm tích hợp có tên là đảo ngược [] được sử dụng để đảo ngược danh sách . Cách đơn giản và nhanh chóng này để đảo ngược danh sách cần ít bộ nhớ. cú pháp. danh sách tên. reverse[] Ở đây, list_name có nghĩa là bạn phải viết tên của danh sách, tên này phải được đảo ngược.

có nghĩa là gì [. . ] có nghĩa là gì trong Python?

Đây là một ví dụ về ký hiệu lát cắt và chức năng của ký hiệu này phụ thuộc vào loại dân số. Nếu dân số là một danh sách, dòng này sẽ tạo một bản sao nông của danh sách.

Chủ Đề