Hướng dẫn how do you reverse a list in python indexing? - làm cách nào để đảo ngược danh sách trong lập chỉ mục python?

Trong hướng dẫn này, & nbsp; bạn sẽ học cách sử dụng Python để đảo ngược danh sách. Đây là một nhiệm vụ phổ biến trong tay (và một câu hỏi phỏng vấn Python phổ biến mà bạn gặp phải). Biết cách tiếp cận nhiệm vụ này theo những cách khác nhau có thể giúp bạn chọn phương pháp phù hợp trong các tình huống khác nhau.you’ll learn how to use Python to reverse a list. This is a common task at hand (and a common Python interview question you’ll encounter). Knowing how to approach this task in different ways can help you choose the right method in different situations.

Python đi kèm với một số phương thức và hàm cho phép bạn đảo ngược danh sách, trực tiếp hoặc lặp lại qua đối tượng danh sách. Bạn sẽ học cách đảo ngược danh sách Python bằng cách sử dụng & nbsp; ________ 9 & nbsp; function, & nbsp; ________ 10 & nbsp; phương thức, lập chỉ mục danh sách, cho các vòng lặp, danh sách hiểu và phương thức lát cắt.

Mặc dù học sáu phương pháp khác nhau để đảo ngược một danh sách trong Python có vẻ quá mức, một trong những điều đẹp đẽ về Python là sự linh hoạt mà nó có được. Một số phương pháp sẽ phù hợp hơn với phong cách của bạn, trong khi những phương pháp khác có thể hiệu suất hơn hoặc dễ đọc hơn.

Bắt đầu nào!

Câu trả lời nhanh: & nbsp; sử dụng python từ & nbsp; ________ 10 Use a Python’s 

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
0

# Using list.reverse() to reverse a list in Python
values = [1, 2, 3, 4, 5]
values.reverse()
print(values)

# Returns: [5, 4, 3, 2, 1]

Tóm tắt: Cách đảo ngược danh sách trong Python

Trong hướng dẫn này, chúng tôi sẽ bao gồm sáu cách khác nhau để đảo ngược một danh sách trong Python. Tuy nhiên, hãy để bao gồm những gì tốt nhất và nhanh nhất để đảo ngược danh sách trong Python. Từ đó, bạn có thể đọc về các phương pháp khác nhau trong các phần dưới đây.

Cách pythonic nhất để đảo ngược danh sách là sử dụng phương thức danh sách ____1010. Điều này là bởi vì nó có chủ ý và không nghi ngờ gì trong tâm trí người đọc về những gì bạn đã hy vọng đạt được.most Pythonic way to reverse a list is to use the

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
0 list method. This is because it’s intentional and leaves no doubt in the reader’s mind as to what you’re hoping to accomplish.

Cách nhanh nhất để đảo ngược danh sách trong Python là sử dụng một vòng lặp hoặc khả năng hiểu danh sách. Để kiểm tra điều này, chúng tôi đã kiểm tra từng phương thức trong danh sách chứa 100.000.000 mục! Điều này cho phép chúng tôi thực sự kiểm tra căng thẳng từng phương pháp khác nhau.fastest way to reverse a list in Python is to use either a for loop or a list comprehension. In order to test this, we tested each method on a list containing 100,000,000 items! This allowed us to really stress test each of the different methods.

Hãy cùng xem kết quả của mỗi phương pháp:

Phương phápThời gian để đảo ngược danh sách 100.000.000 mặt hàng
Phương thức .reverse ()32,6 ms ± 3,35 ms mỗi vòng
hàm đảo ngược ()680 ms ± 21,6 ms mỗi vòng
Lập chỉ mục ngược386 ms ± 3,14 ms mỗi vòng
Cho vòng lặp751 ns ± 1,83 ns mỗi vòng
Danh sách hiểu747 ns ± 1,12 ns mỗi vòng
Đối tượng máy cắt382 ms ± 2,35 ms mỗi vòng
Thời gian thực hiện khác nhau của việc đảo ngược một danh sách trong Python.

Bây giờ, chúng tôi đã đề cập đến điều đó, hãy để đi sâu vào cách sử dụng các phương pháp khác nhau này để đảo ngược danh sách trong Python.

Hiểu chỉ mục danh sách Python

Trước khi chúng tôi đi sâu vào cách đảo ngược danh sách Python, điều quan trọng đối với chúng tôi là phải hiểu danh sách Python được lập chỉ mục như thế nào. Bởi vì danh sách Python được đặt hàng và lập chỉ mục, chúng tôi có thể truy cập và sửa đổi danh sách Python dựa trên chỉ mục của họ.it’s important for us to understand how Python lists are indexed. Because Python lists are ordered and indexed, we can access and modify Python lists based on their index.

Chỉ số danh sách Python hoạt động theo hai cách chính:

  1. Chỉ số tích cực: Danh sách Python sẽ bắt đầu ở vị trí
    # Reverse a Python list with reverse()
    original_list = [1,2,3,4,5,6,7,8,9]
    original_list.reverse()
    print(original_list)
    
    # Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
    3 và tiếp tục lên đến chỉ số của chiều dài trừ 1
    : Python lists will start at a position of
    # Reverse a Python list with reverse()
    original_list = [1,2,3,4,5,6,7,8,9]
    original_list.reverse()
    print(original_list)
    
    # Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
    3 and continue up to the index of the length minus 1
  2. Chỉ số âm: Danh sách Python có thể được lập chỉ mục ngược, bắt đầu ở vị trí
    # Reverse a Python list with reverse()
    original_list = [1,2,3,4,5,6,7,8,9]
    original_list.reverse()
    print(original_list)
    
    # Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
    4, di chuyển sang giá trị âm của độ dài của danh sách.
    : Python lists can be indexed in reverse, starting at position
    # Reverse a Python list with reverse()
    original_list = [1,2,3,4,5,6,7,8,9]
    original_list.reverse()
    print(original_list)
    
    # Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
    4, moving to the negative value of the length of the list.

Hình ảnh dưới đây cho thấy cách các mục danh sách có thể được lập chỉ mục.

Hướng dẫn how do you reverse a list in python indexing? - làm cách nào để đảo ngược danh sách trong lập chỉ mục python?
Cách lập chỉ mục danh sách Python hoạt động

Trong phần tiếp theo, bạn sẽ học cách sử dụng phương thức Python & NBSP; Danh sách

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
0 để đảo ngược danh sách trong Python.

Đảo ngược danh sách Python bằng phương thức đảo ngược

Danh sách Python có quyền truy cập vào một phương thức,

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
0, cho phép bạn đảo ngược danh sách tại chỗ. Điều này có nghĩa là danh sách được đảo ngược theo cách tiết kiệm bộ nhớ mà không cần tạo một đối tượng mới.

Hãy để xem cách chúng ta có thể đảo ngược danh sách Python của mình bằng phương thức & nbsp; ____ 10 & nbsp;

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]

Bởi vì hoạt động được xử lý tại chỗ, nếu bạn cần giữ lại danh sách ban đầu, trước tiên bạn sẽ cần tạo một bản sao của nó. Chúng ta có thể tạo một bản sao của danh sách bằng cách sử dụng phương thức

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
8 trong danh sách ban đầu trước. Hãy cùng xem cách thức hoạt động của nó:

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = original_list.copy()
reversed_list.reverse()

print('Original List: ', original_list)
print('Reversed List: ', reversed_list)

# Returns:
# Original List:  [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Reversed List:  [9, 8, 7, 6, 5, 4, 3, 2, 1]

Chúng ta có thể thấy rằng trước tiên bằng cách áp dụng phương thức

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
8 vào danh sách ban đầu, sau đó chúng ta có thể chuỗi theo phương thức
# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
original_list.reverse()
print(original_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
0 để đảo ngược danh sách được sao chép.

Trong phần tiếp theo, bạn sẽ học cách đảo ngược danh sách bằng cách sử dụng lập chỉ mục danh sách.

Đảo ngược danh sách Python bằng cách sử dụng hàm đảo ngược

Python có chức năng tích hợp, & nbsp; ________ 9, lấy một đối tượng có thể đi được như một danh sách và trả về phiên bản đảo ngược của nó.

Phương thức & nbsp; ________ 9 & nbsp; hoạt động tương tự như phương thức lập chỉ mục danh sách được đề cập bên dưới. Nó đã được thêm vào Python để sao chép phương pháp lập chỉ mục mà không bị dài dòng.

Hãy cùng xem cách chúng ta có thể sử dụng chức năng

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = original_list.copy()
reversed_list.reverse()

print('Original List: ', original_list)
print('Reversed List: ', reversed_list)

# Returns:
# Original List:  [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Reversed List:  [9, 8, 7, 6, 5, 4, 3, 2, 1]
3 để đảo ngược danh sách Python:

# Reverse a Python list with reversed()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list(reversed(original_list))

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]

Hàm & nbsp; ________ 9 & nbsp; thực sự trả về một đối tượng iterator của Type & nbsp; ________ 25. Bởi vì điều này, chúng ta cần truyền đối tượng vào hàm

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = original_list.copy()
reversed_list.reverse()

print('Original List: ', original_list)
print('Reversed List: ', reversed_list)

# Returns:
# Original List:  [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Reversed List:  [9, 8, 7, 6, 5, 4, 3, 2, 1]
6 để chuyển đổi nó thành một danh sách.

Chúng tôi có thể xác minh điều này bằng cách viết mã sau:

# Checking the Type of a reverseiterator
original_list = [1,2,3,4,5,6,7,8,9]
print(type(reversed(original_list)))

# Returns: 

Bằng cách chuyển đối tượng vào hàm

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = original_list.copy()
reversed_list.reverse()

print('Original List: ', original_list)
print('Reversed List: ', reversed_list)

# Returns:
# Original List:  [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Reversed List:  [9, 8, 7, 6, 5, 4, 3, 2, 1]
6, tất cả các mục được kéo vào danh sách.

Tại cốt lõi của nó, đối tượng Iterator khá hiệu quả bộ nhớ. Điều này là do nó hoạt động giống như một đối tượng máy phát và đánh giá một cách lười biếng (chỉ khi một mục được truy cập). Khi chúng tôi chuyển đổi nó thành một danh sách bằng hàm

# Reverse a Python list with reverse()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = original_list.copy()
reversed_list.reverse()

print('Original List: ', original_list)
print('Reversed List: ', reversed_list)

# Returns:
# Original List:  [1, 2, 3, 4, 5, 6, 7, 8, 9]
# Reversed List:  [9, 8, 7, 6, 5, 4, 3, 2, 1]
6, chúng tôi sẽ mất hiệu quả này.

Trong phần sau, bạn sẽ học cách sử dụng lập chỉ mục danh sách để đảo ngược danh sách Python.

Đảo ngược danh sách Python bằng cách sử dụng lập chỉ mục danh sách

Khi lập chỉ mục một danh sách, mọi người thường nghĩ đến việc truy cập tất cả các mục giữa một vị trí bắt đầu và một vị trí cuối. Tuy nhiên, bạn cũng có thể bao gồm A & NBSP; ____ 29 & NBSP; Biến cho phép bạn di chuyển qua các chỉ số theo các khoảng thời gian khác nhau. Danh sách lập chỉ mục có dạng

# Reverse a Python list with reversed()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list(reversed(original_list))

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
0.

Ví dụ: & nbsp; ________ 31 & nbsp; sẽ trả lại toàn bộ danh sách từ đầu đến cuối. Nếu chúng ta, thay vào đó, bước sử dụng giá trị & nbsp; ____ 14, thì chúng ta sẽ vượt qua danh sách từ mục cuối cùng sang mục đầu tiên.

Di chuyển qua một danh sách từ đầu đến lúc bắt đầu cũng giống như đảo ngược nó. Hãy để xem cách chúng ta có thể sử dụng lập chỉ mục danh sách Python để đảo ngược danh sách:

# Reverse a Python list with list indexing
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = original_list[::-1]
print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]

Trong mã ở trên, chúng tôi tạo một danh sách mới bằng cách bước qua danh sách ban đầu theo thứ tự ngược lại. Phương pháp này không sửa đổi đối tượng tại chỗ và cần được gán cho một biến.

Đảo ngược danh sách python bằng cách sử dụng một vòng lặp

Python cho các vòng lặp là những cách tuyệt vời để lặp lại một hành động cho một số lần xác định. Chúng ta có thể sử dụng & nbsp; đảo ngược () & nbsp; và lặp qua các mục của nó để tạo một danh sách theo thứ tự ngược lại.

Hãy để xem cách làm điều này có thể được thực hiện:

# Reverse a Python list with a for loop
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list()

for item in original_list:
    reversed_list = [item] + reversed_list

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]

Hãy để phá vỡ những gì khối mã ở trên đang làm:

  1. Chúng tôi xác định hai danh sách, danh sách ban đầu của chúng tôi và một danh sách trống để lưu trữ các mục đảo ngược của chúng tôi
  2. Sau đó chúng tôi lặp qua từng mục trong danh sách. Chúng tôi phân công lại danh sách đảo ngược vào một danh sách chứa từng mục cộng với danh sách đảo ngược.

Trong phần tiếp theo, bạn sẽ học cách sử dụng khả năng hiểu danh sách Python để đảo ngược danh sách.

Đảo ngược danh sách python bằng cách sử dụng danh sách hiểu

Tương tự như sử dụng một vòng lặp cho điều này, chúng ta cũng có thể sử dụng danh sách hiểu để đảo ngược danh sách Python. Tuy nhiên, thay vì chỉ đơn giản là chuyển đổi vòng lặp cho một danh sách hiểu, chúng tôi sẽ sử dụng một cách tiếp cận hơi khác để thực hiện mục tiêu của mình.

Chúng tôi sẽ lặp lại từng mục trong danh sách ban đầu của chúng tôi theo thứ tự tiêu cực. Hãy cùng xem xét điều này trông như thế nào:

# Reverse a Python list with a List Comprehension
original_list = [1,2,3,4,5,6,7,8,9]
start = len(original_list) - 1
reversed_list = [original_list[i] for i in range(start, -1, -1)]
print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]

Hãy để chia nhỏ những gì mã trên đang làm:

  1. Chúng tôi tạo một biến
    # Reverse a Python list with reversed()
    original_list = [1,2,3,4,5,6,7,8,9]
    reversed_list = list(reversed(original_list))
    
    print(reversed_list)
    
    # Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
    3 đại diện cho độ dài của danh sách trừ đi một
  2. Sau đó, chúng tôi tạo một danh sách hiểu biết truy cập từng mục chỉ mục trong danh sách của chúng tôi bằng cách sử dụng phạm vi từ vị trí bắt đầu đến 0 theo thứ tự ngược lại.

Phương pháp này hoạt động, nhưng nó không phải là phương pháp dễ đọc nhất. Nó có thể là một cách tốt để học cách thực hiện điều này cho một cuộc phỏng vấn, nhưng ngoài điều này, nó không phải là phương pháp được đề xuất nhất.

Đảo ngược danh sách python bằng phương pháp lát cắt

Python cũng cung cấp chức năng A & nbsp; ____ 34 & nbsp; cho phép chúng tôi lập chỉ mục một đối tượng giống như cách mà phương thức lập chỉ mục danh sách hoạt động ở trên. Hàm tạo ra một đối tượng lát cho phép chúng ta dễ dàng sử dụng lại một lát trên nhiều đối tượng. Bởi vì điều này, chúng tôi có thể áp dụng cùng một chỉ mục trên các danh sách khác nhau.

Hãy để xem cách chúng ta có thể sử dụng chức năng trong Python:

________số 8

Lợi ích của phương pháp này là chúng ta có thể chỉ định một lát cắt tùy chỉnh có thể dễ dàng sử dụng lại, mà không cần sửa đổi nhiều mục. Điều này cho phép bạn dễ dàng áp dụng cùng một lát cho nhiều mục.

Ngoài ra, chức năng

# Reverse a Python list with reversed()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list(reversed(original_list))

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
5 cho phép bạn đặt cho lát cắt một tên dễ hiểu. Trong ví dụ trên, chúng tôi đặt tên cho máy cắt
# Reverse a Python list with reversed()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list(reversed(original_list))

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
6 để làm rõ những gì đối tượng lát cắt đang làm.

Các câu hỏi thường gặp

Cách tốt nhất để đảo ngược danh sách trong Python là gì?

Cách tốt nhất và pythonic nhất để đảo ngược danh sách trong Python là sử dụng phương pháp

# Reverse a Python list with reversed()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list(reversed(original_list))

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
7. Phương pháp này đảo ngược danh sách tại chỗ và là cách rõ ràng nhất để giao tiếp với người đọc của bạn những gì bạn đang làm.

Làm thế nào để bạn đảo ngược một danh sách trong Python bằng cách cắt lát?

Cách tốt nhất để đảo ngược danh sách bằng cách sử dụng cắt trong Python là sử dụng lập chỉ mục tiêu cực. Điều này cho phép bạn bước qua danh sách bằng -1, bằng cách sử dụng mã

# Reverse a Python list with reversed()
original_list = [1,2,3,4,5,6,7,8,9]
reversed_list = list(reversed(original_list))

print(reversed_list)

# Returns: [9, 8, 7, 6, 5, 4, 3, 2, 1]
8.

Cách nhanh nhất để đảo ngược danh sách trong Python là gì?

Cách nhanh nhất để đảo ngược danh sách trong Python là sử dụng một vòng lặp (hoặc hiểu biết danh sách). Phương pháp này nhanh hơn hàng trăm lần so với các phương pháp khác (ngay cả khi được thử nghiệm so với danh sách với 100.000.000 mục).

Sự kết luận

Trong hướng dẫn này, bạn đã học được cách đảo ngược một danh sách trong Python. Bạn đã học cách lập chỉ mục danh sách hoạt động và làm thế nào điều này có thể được sử dụng để đảo ngược danh sách. Sau đó, bạn đã học cách sử dụng & nbsp; ____ 23 & nbsp; và & nbsp; ________ 9 & nbsp; các phương thức để đảo ngược một danh sách. Sau đó, bạn đã học cách sử dụng cho các vòng lặp và liệt kê toàn bộ, cũng như hàm lát cắt.

Tài nguyên bổ sung

Để tìm hiểu thêm về các chủ đề liên quan, hãy xem các hướng dẫn dưới đây:

  • Danh sách Python Sắp xếp (): Hướng dẫn chuyên sâu về Danh sách sắp xếp
  • Cách lặp lại (vòng lặp) trong danh sách trong Python
  • Python: Tìm chỉ số danh sách của tất cả các lần xuất hiện của một phần tử
  • Để tìm hiểu thêm về danh sách trong Python, hãy xem & NBSP; tài liệu chính thức ở đây.

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

Danh sách Python có thể được đảo ngược tại chỗ với phương thức danh sách.reverse (). Đây là một tùy chọn tuyệt vời để đảo ngược thứ tự của một danh sách (hoặc bất kỳ chuỗi có thể thay đổi) trong Python. Nó sửa đổi thùng chứa ban đầu, điều đó có nghĩa là không cần thêm bộ nhớ.list. reverse() method. This is a great option to reverse the order of a list (or any mutable sequence) in Python. It modifies the original container in-place which means no additional memory is required.

Ý bạn là gì khi lập chỉ mục ngược trong danh sách?

Định nghĩa của chỉ số ngược: Một danh sách (như một chỉ mục hoặc bảng chú giải) trong đó các mục được sắp xếp theo thứ tự bảng chữ cái theo yếu tố cuối cùng của chúng.a list (as an index or glossary) in which items are arranged alphabetically under their final element.

Làm thế nào để bạn đảo ngược một danh sách với lập chỉ mục tiêu cực?

Để đảo ngược danh sách trong Python, bạn có thể sử dụng cắt giảm âm: vì bạn muốn cắt toàn bộ danh sách, bạn có thể bỏ qua hoàn toàn các giá trị bắt đầu và dừng lại.Để đảo ngược việc cắt, chỉ định giá trị bước âm.Vì bạn muốn đưa mỗi giá trị vào danh sách đảo ngược, kích thước bước phải là -1.specify a negative step value. As you want to include each value in the reversed list, the step size should be -1.

Làm thế nào để bạn đảo ngược một danh sách trong việc cắt trong Python?

Bây giờ, khi nói đến việc sử dụng cắt lát để đảo ngược danh sách, bạn sẽ cần sử dụng toán tử cắt ngược [::-1] cú pháp.Điều này đặt bước thành -1 và nhận tất cả các mục trong danh sách theo thứ tự ngược lại.Toán tử cắt không sửa đổi danh sách ban đầu.use the reverse slicing operator [::-1] syntax. This sets the step to -1 and gets all items in the list in reverse order. The slicing operator does not modify the original list.