Làm thế nào để bạn in một danh sách theo thứ tự ngược lại trong vòng lặp python?

Trong hướng dẫn này, chúng ta sẽ học cách viết chương trình python để tạo một mảng [danh sách trong trường hợp của python] và trả về đảo ngược các phần tử được lưu trữ trong mảng [danh sách]

Báo cáo vấn đề

Đầu tiên chương trình của chúng ta sẽ lấy đầu vào là kích thước mảng [danh sách] và sau đó là các phần tử của mảng [danh sách] do người dùng. Sau khi áp dụng một số logic, nó sẽ trả về kết quả ngược lại của mảng đầu vào [danh sách]

Trong hướng dẫn Python này, chúng ta sẽ tìm hiểu cách đảo ngược danh sách trong python. Và chúng tôi sẽ đề cập đến các ví dụ khác nhau liên quan đến đảo ngược danh sách. Dưới đây là danh sách các ví dụ mà chúng ta sẽ đề cập

  • Đảo ngược danh sách trong python với chức năng đảo ngược
  • Đảo ngược danh sách trong python với trình vòng lặp đảo ngược
  • Đảo ngược danh sách trong python mà không cần chức năng đảo ngược
  • Cách đảo ngược danh sách trong python bằng vòng lặp while
  • Đảo ngược danh sách trong python bằng vòng lặp for
  • Đảo ngược danh sách trong python bằng cách cắt
  • Đảo ngược danh sách trong python bằng đệ quy

Mục lục

  • Đảo ngược danh sách trong python với chức năng đảo ngược
  • Đảo ngược danh sách trong python với trình vòng lặp đảo ngược
  • Đảo ngược danh sách trong python mà không cần chức năng đảo ngược
  • Cách đảo ngược danh sách trong python bằng vòng lặp while
  • Đảo ngược danh sách trong python bằng vòng lặp for
  • Đảo ngược danh sách trong python bằng cách cắt
  • Đảo ngược danh sách trong python bằng đệ quy

Đảo ngược danh sách trong python với chức năng đảo ngược

Python có một hàm dựng sẵn có tên là đảo ngược [] mà chúng ta có thể sử dụng để đảo ngược danh sách Python. Hãy để chúng tôi xem một ví dụ. Chúng ta sẽ tạo một danh sách và đảo ngược nó bằng hàm reverse[]. hãy xem đoạn mã dưới đây

list1=[12,14,56,24,25,52,54]
list1.reverse[]
print[list1]
  • Chúng ta đã tạo một danh sách có tên list1 và sử dụng hàm reverse[] để đảo ngược danh sách. Nhìn vào đầu ra dưới đây

danh sách đảo ngược

Bằng cách này, bạn có thể sử dụng hàm reverse[] tích hợp để đảo ngược danh sách

Đọc. Chương trình Python để đảo ngược một chuỗi

Đảo ngược danh sách trong python với trình vòng lặp đảo ngược

Có một tùy chọn tích hợp khác để đảo ngược danh sách trong python. Chúng ta có thể sử dụng iterator đảo ngược. Sử dụng tùy chọn này, chúng tôi có thể lặp lại danh sách của mình theo thứ tự ngược lại hoặc chúng tôi cũng có thể lưu trữ kết quả dưới dạng danh sách. Hãy để chúng tôi xem làm thế nào

list1= [23, 54, 76, 82, 40, 45]
for element in reversed[list1]:
    print[element]

Các yếu tố được in theo thứ tự ngược lại

Bạn có thể thấy rằng các phần tử được in theo thứ tự ngược lại

Tương tự, bạn có thể sử dụng trình vòng lặp đảo ngược này để tạo một danh sách. Nhưng bạn phải chuyển đổi đối tượng lặp này thành một danh sách

list1= [23, 54, 76, 82, 40, 45]
print[list[reversed[list1]]]

Danh sách đảo ngược

Bằng cách này, bạn có thể sử dụng trình vòng lặp đảo ngược để lấy danh sách đảo ngược trong python

Đọc. 11 phương thức danh sách Python

Đảo ngược danh sách trong python mà không cần chức năng đảo ngược

Khi muốn đảo ngược danh sách trong python, chúng ta thường sử dụng hàm reverse[]. Nhưng chúng ta cũng có thể viết logic của riêng mình để hoàn thành nhiệm vụ tương tự

Trong các phần bên dưới, tôi đã giải thích một số phương pháp mà bạn có thể sử dụng để đảo ngược danh sách trong python mà không cần hàm reverse[]

Cách đảo ngược danh sách trong python bằng vòng lặp while

Bạn có thể sử dụng vòng lặp while để đảo ngược danh sách trong python. Nhìn vào mã dưới đây

list1= [54,78,23,54,67,90,12,43]
print['Original list:', list1]
list2=[]
length=len[list1]
while length > 0:
    list2.append[list1[length-1]]
    length = length - 1
print['Reversed list:', list2]

danh sách đảo ngược

  • Trong đoạn mã trên, chúng tôi đang lặp lại độ dài của danh sách. Chúng tôi đang giảm giá trị của độ dài và vòng lặp sẽ dừng khi độ dài bằng không
  • Với sự trợ giúp của việc lập chỉ mục, chúng tôi đang lưu trữ các giá trị của danh sách ban đầu vào một danh sách mới

Bằng cách này, bạn có thể sử dụng vòng lặp while để đảo ngược danh sách trong python

Đọc. Python chuyển đổi DataFrame thành danh sách

Đảo ngược danh sách trong python bằng vòng lặp for

Bạn cũng có thể sử dụng vòng lặp for để đảo ngược danh sách trong python. Tôi sẽ giải thích các ví dụ khác nhau mà tôi sẽ sử dụng vòng lặp for để đảo ngược danh sách

ví dụ 1

Hãy xem xét đoạn mã python sau

original_list=[71, 36, 51, 75, 82, 78, 40]
print['Orginal List:', original_list]
reversed_list=[]
for i in original_list:
    reversed_list.insert[0,i]
print['Reversed List:', reversed_list]

Danh sách đảo ngược

  • Trong ví dụ trên, chúng ta đang sử dụng hàm insert[] để chèn một phần tử vào vị trí đầu tiên của danh sách mới
  • Khi chúng ta chèn một phần tử vào chỉ mục đầu tiên trong danh sách, các phần tử còn lại sẽ được chuyển sang chỉ mục tiếp theo
  • Ví dụ: sau đây là các giá trị của danh sách đảo ngược sau mỗi lần lặp
    • list1= [23, 54, 76, 82, 40, 45]
      for element in reversed[list1]:
          print[element]
      0
    • [36, 71]
    • [51, 36, 71]
    • [75, 51, 36, 71]
    • [82, 75, 51, 36, 71]
    • [78, 82, 75, 51, 36, 71]
    • [40, 78, 82, 75, 51, 36, 71]
  • Bạn có thể thấy rằng ở cuối tất cả các lần lặp lại, danh sách của chúng tôi bị đảo ngược

Bây giờ chúng ta hãy xem một ví dụ khác về đảo ngược danh sách bằng vòng lặp for

ví dụ 2

Trong ví dụ này, chúng ta sẽ sử dụng hàm insert[] cùng với phương thức pop[] của danh sách để đảo ngược danh sách. Phương thức pop[] xóa phần tử cuối cùng của danh sách và trả về giá trị đã xóa này mà chúng ta có thể lưu vào một biến

Lần này chúng ta sẽ không tạo danh sách mới mà chỉ đảo ngược các phần tử trong danh sách hiện có

original_list=[71, 36, 51, 75, 82, 78, 40]
print['Orginal List:', original_list]
for i in range[len[original_list]]:
    popped= original_list.pop[]
    original_list.insert[i, popped]
print['Reversed List:', original_list]

Danh sách đảo ngược

  • Chúng tôi đang sử dụng phương thức pop[] để xóa phần tử cuối cùng và lưu phần tử đã xóa vào một biến
  • Sau đó, chúng tôi đang sử dụng hàm chèn [] để chèn phần tử bật ra trong danh sách
  • Để hiểu rõ hơn, bạn có thể xem giá trị của danh sách sau mỗi lần lặp
    • [71, 36, 51, 75, 82, 78, 40]
    • [40, 71, 36, 51, 75, 82, 78]
    • [40, 78, 71, 36, 51, 75, 82]
    • [40, 78, 82, 71, 36, 51, 75]
    • [40, 78, 82, 75, 71, 36, 51]
    • [40, 78, 82, 75, 51, 71, 36]
    • [40, 78, 82, 75, 51, 36, 71]
    • [40, 78, 82, 75, 51, 36, 71]

Vì vậy, bạn có thể đã học cách sử dụng hàm pop[] và hàm insert[] với vòng lặp for để đảo ngược danh sách

ví dụ 3

Trong ví dụ này, tôi sẽ giải thích một cách đảo ngược danh sách rất hiệu quả mà không cần sử dụng các hàm có sẵn. Nhìn vào mã dưới đây;

list1 = [32, 65, 79, 45, 35, 62, 74]
print['Original List:', list1]
Length = len[list1]
for i in range[int[Length / 2]]:
    temp = list1[i]
    list1[i] = list1[Length - i - 1]
    list1[Length - i - 1] = temp
print['Reversed List:', list1]

Danh sách đảo ngược

  • Trong đoạn mã trên, vòng lặp sẽ chạy cho một nửa số phần tử trong danh sách
  • Điều này có nghĩa là độ phức tạp về thời gian để chạy chương trình sẽ ít hơn so với một số phương pháp khác khiến nó trở thành một linh hồn rất hiệu quả

Giải thích về mã

  • Trong chương trình trên, chúng tôi đang cố gắng hoán đổi một phần tử từ phía bên trái với phần tử tương ứng từ phía bên phải trong một vòng lặp
  • Sử dụng logic này, chúng ta sẽ chỉ cần chạy chương trình này bằng một nửa tổng số phần tử trong danh sách
  • Hãy để tôi chỉ cho bạn sự lặp lại từng cái một

Danh sách gốc. [32, 65, 79, 45, 35, 62, 74]

Độ dài của danh sách. 7

Số lần lặp lại. int[7/2] = 3

lặp lại 1

[74, 65, 79, 45, 35, 62, 32]

lặp lại 2

[74, 62, 79, 45, 35, 65, 32]

lặp lại 3

[74, 62, 35, 45, 79, 65, 32]

Bạn có thể thấy rằng trong lần lặp lại trước, chúng tôi đã đảo ngược danh sách của mình. Bằng cách này, bạn có thể sử dụng vòng lặp for để đảo ngược danh sách trong python một cách rất hiệu quả

Ví dụ 4

Ví dụ dưới đây chỉ để thực hành và không phải là một giải pháp khả thi vì độ phức tạp về không gian và thời gian cao

Trong phương pháp này, chúng tôi đang lặp lại các phần tử danh sách ban đầu. Chúng tôi đang chuyển đổi từng phần tử thành một danh sách và nối danh sách này với danh sách mới ban đầu trống

________số 8

Danh sách đảo ngược

Đọc. Chuỗi Python để liệt kê

Đảo ngược danh sách trong python bằng cách cắt

Trong phần này, bạn sẽ tìm hiểu cách sử dụng phương pháp cắt để đảo ngược danh sách. Trong phương pháp này, chúng ta phải tạo một bản sao mới của danh sách. Điều này làm tăng yêu cầu về không gian của một chương trình

Hãy nhìn vào đoạn mã dưới đây

list1=[44, 75, 24, 78, 24, 84, 24]
print['Original List', list1]
new_list=list1[::-1]
print['Reversed List', new_list]

Danh sách đảo ngược

Bạn có thể thấy rằng một bản sao của danh sách đang lưu trữ các phần tử theo thứ tự ngược lại. Bằng cách này, bạn có thể sử dụng phương pháp cắt hoặc lập chỉ mục để lấy danh sách theo thứ tự đảo ngược

Đọc. Python tạo từ điển từ hai danh sách

Đảo ngược danh sách trong python bằng đệ quy

Bạn cũng có thể sử dụng một số phương thức đệ quy để đảo ngược danh sách trong python. Hãy để chúng tôi hiểu với sự giúp đỡ của một ví dụ

list1= [23, 54, 76, 82, 40, 45]
for element in reversed[list1]:
    print[element]
0

Đảo ngược danh sách bằng cách sử dụng đệ quy

  • Trong đoạn mã trên, chúng tôi đã tạo một hàm đệ quy
  • Hàm này trả về phần tử cuối cùng của danh sách và chuyển nó thành một danh sách
  • Sau đó, hàm này sử dụng toán tử nối và tự gọi lại nhưng lần này danh sách được chuyển không bao gồm phần tử cuối cùng của danh sách
  • Do đó, hàm sẽ trả về tất cả các phần tử từ vị trí cuối cùng đến vị trí đầu tiên theo cách đệ quy và nối chúng ở lần lặp cuối cùng
  • Điều này sẽ trả về một danh sách sẽ theo thứ tự ngược lại

Hãy để tôi giải thích điều này một cách trực quan

Danh sách gốc. vòng quay[[43, 56, 23, 75, 92, 34, 45]]

lặp lại 1

Bây giờ chức năng này sẽ đột nhập vào

[45] + vòng quay[[43, 56, 23, 75, 92, 34]]

lặp lại 2

Tương tự, chức năng sẽ lại đột nhập vào

[45] + [34] + vòng quay[[43, 56, 23, 75, 92]]

lặp lại 3

[45] + [34] + [92] + vòng quay[[43, 56, 23, 75]]

lặp lại 4

[45] + [34] + [92] + [75] + vòng quay[[43, 56, 23]]

Lặp lại 5

[45] + [34] + [92] + [75] + [23] + vòng quay[[43, 56]]

Lặp lại 6

[45] + [34] + [92] + [75] + [23] + [56] + vòng quay[[43]]

tương đương với

[45] + [34] + [92] + [75] + [23] + [56] + [43] = [45, 34, 92, 75, 23, 56, 43]

Do đó, ở lần lặp lại cuối cùng, chúng tôi đã đảo ngược danh sách của mình. Bằng cách này, bạn có thể sử dụng phương thức đệ quy để đảo ngược danh sách trong python

Bạn cũng có thể muốn đọc các hướng dẫn về python sau đây

  • Python lặp qua một danh sách
  • Tìm số nhỏ nhất trong danh sách Python
  • Python tìm chỉ mục của phần tử trong danh sách
  • Python Đếm từ trong tệp
  • Python tìm số trong String
  • Python sắp xếp danh sách các bộ dữ liệu
  • Python NumPy vào danh sách
  • Giá trị từ điển Python để liệt kê
  • Kiểm tra xem một danh sách có trống trong Python không
  • Cách chuyển đổi danh sách thành chuỗi trong Python

Vì vậy, bạn có thể đã học các phương pháp khác nhau để đảo ngược danh sách trong python. sau đây là danh sách các phương pháp mà chúng ta đã thảo luận ở trên

  • Đảo ngược danh sách trong python với chức năng đảo ngược
  • Đảo ngược danh sách trong python với trình vòng lặp đảo ngược
  • Đảo ngược danh sách trong python mà không cần chức năng đảo ngược
  • Cách đảo ngược danh sách trong python bằng vòng lặp while
  • Đảo ngược danh sách trong python bằng vòng lặp for
  • Đảo ngược danh sách trong python bằng cách cắt
  • Đảo ngược danh sách trong python bằng đệ quy

Bijay Kumar

Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi

Chủ Đề