HomeLập trìnhPythonDanh sách đảo...

Danh sách đảo ngược Python – Cách đảo ngược một phạm vi hoặc mảng


Trong hướng dẫn này, bạn sẽ tìm hiểu một số cách khác nhau để đảo ngược danh sách và phạm vi danh sách trong Python. Và chúng ta sẽ xem xét một số ví dụ viết mã trong quá trình thực hiện.

Bắt đầu nào!

Cách tạo một phạm vi trong Python

Một cách hiệu quả để tạo danh sách dãy số trong Python là sử dụng công cụ tích hợp sẵn range() chức năng.

Để tạo một danh sách với một dãy số, bạn sử dụng list() hàm tạo và bên trong đó, range() chức năng.

Hàm phạm vi chiếm tới ba tham số – tham số start, stop, and step tham số, với cú pháp cơ bản giống như thế này:

range(start, stop, step).

Các start tham số là số mà từ đó quá trình đếm sẽ bắt đầu.

Các stop tham số là số tối đa – nhưng không bao gồm – số mà quá trình đếm sẽ dừng lại.

Các step tham số là số xác định cách các số sẽ được tăng lên.

Trong ba tham số, chỉ stop là bắt buộc và phần còn lại là tùy chọn.

Nếu bạn chỉ bao gồm stop tham số, hãy nhớ rằng theo mặc định, quá trình đếm bắt đầu từ 0 và sau đó quá trình đếm kết thúc một số trước số bạn đã chỉ định.

Ví dụ:

#creates a list of numbers that 
#start at 0 and end at 3, not 4.

my_range = list(range(4))

print(my_range)
#output
#[0, 1, 2, 3]

Vì vậy, đây là cách bạn sẽ kết hợp tất cả những thứ này lại với nhau để tạo một danh sách gồm một dãy số:

#creates a list of range of numbers:
#starting from 0
#up to, but not including, 10
# and the counting is incremented by 1

my_range = list(range(0, 10, 1))

#print to the console
print(my_range)

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

#check type using the built-in type() method
print(type(my_range))

#output
#<class 'list'>

Cách đảo ngược một phạm vi trong Python

Để đảo ngược một dãy số trong Python với range() chức năng, bạn sử dụng một bước phủ định, như -1.

Ví dụ bên dưới tạo danh sách dãy số bắt đầu từ 9 đến, nhưng không bao gồm -1 (vì vậy việc đếm dừng lại ở 0) và việc đếm chuỗi được giảm đi 1 mỗi lần:

my_range = list(range(9, -1, -1))

print(my_range)
#output
#[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

print(type(my_range))
#<class 'list'>

Khi nào đảo ngược một danh sách, bạn cần bao gồm startstep thông số.

Đọc thêm  Cách tự động hóa công việc bằng Python

Cách đảo ngược một mảng trong Python

Mảng trong lập trình là một tập hợp các mục được sắp xếp theo thứ tự, tất cả chúng đều có cùng kiểu dữ liệu.

Mỗi mục trong bộ sưu tập có một số chỉ mục riêng.

Tuy nhiên, không giống như các ngôn ngữ lập trình khác, mảng không phải là cấu trúc dữ liệu tích hợp sẵn trong Python.

Thay vào đó, bạn sử dụng các danh sách và Python cung cấp một số cách để đảo ngược chúng.

Cách đảo ngược danh sách trong Python bằng cách sử dụng .reverse() phương pháp

Sử dụng phương thức Python tích hợp này, danh sách sẽ thay đổi tại chỗ. Điều này có nghĩa là thứ tự ban đầu của danh sách bị ảnh hưởng.

Thứ tự ban đầu của các mục được cập nhật và thay đổi.

Ví dụ: giả sử bạn có danh sách sau:

#initial list
my_list = [10,20,30,40,50]

print("My initial list is: ",my_list)

#output
#My initial list is:  [10, 20, 30, 40, 50]

Thay đổi my_listcác mặt hàng của để có một đơn đặt hàng của 50, 40, 30, 20,10bạn sẽ làm:

#initial list
my_list = [10,20,30,40,50]

#reverse order of items
my_list.reverse()

print("This is what the list looks like now: ", my_list)

#output
#This is what the list looks like now:  [50, 40, 30, 20, 10]

Bạn thấy rằng thứ tự ban đầu của danh sách hiện đã thay đổi và các phần tử bên trong nó đã bị đảo ngược.

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

Toán tử cắt hoạt động tương tự như range() chức năng bạn đã thấy trước đó.

Đọc thêm  Chuỗi nối Python – Cách kết hợp và nối chuỗi trong Python

Nó cũng chấp nhận các start, stop, step tranh luận.

Cú pháp trông như thế này: start:end:step.

Ví dụ:

my_list = [10,20,30,40,50]

my_list2 = my_list[1:3:1]

print(my_list2)

#output
#[20, 30]

Trong ví dụ trên, chúng tôi muốn tìm nạp các mục bắt đầu từ chỉ mục 1 trở lên nhưng không bao gồm mục có chỉ mục 3, tăng dần một số tại một thời điểm.

Lập chỉ mục trong Python bắt đầu từ 0, vì vậy phần tử đầu tiên có chỉ số là 0, phần tử thứ hai có chỉ số là 1, v.v.

Khi muốn in tất cả các mặt hàng, bạn sử dụng một trong hai cách sau:

my_list = [10,20,30,40,50]

my_list2 = my_list[:]

#or..

my_list2 = my_list[::]

#print to the console
print(my_list2)

#output
#10, 20, 30, 40, 50]

Vì vậy, bạn có thể sử dụng một hoặc hai dấu hai chấm để xuất tất cả các mục có trong danh sách.

Bây giờ, để đảo ngược tất cả các mục trong danh sách bằng cách sử dụng toán tử cắt, bạn phải thêm bước này.

Trong trường hợp này, bạn sử dụng hai dấu hai chấm để thể hiện startend đối số và một bước tiêu cực để giảm dần:

my_list = [10,20,30,40,50]

my_list2 = my_list[::-1]

print(my_list2)

#output
#[50, 40, 30, 20, 10]

Trong trường hợp này, một danh sách mới được tạo với thứ tự ban đầu của danh sách không bị ảnh hưởng.

Cách đảo ngược danh sách trong Python bằng cách sử dụng reversed() chức năng

Đừng nhầm lẫn điều này với .reverse() phương pháp! tích hợp sẵn reversed() chức năng đảo ngược thứ tự của danh sách và cho phép bạn truy cập từng mục một.

my_list = [10,20,30,40,50]

for num in reversed(my_list): 
    print(num)
    
#output
#50
#40
#30
#20
#10

Các reversed() hàm chấp nhận một danh sách làm đối số và trả về một phiên bản đảo ngược, có thể lặp lại của các mục có trong danh sách.

Đọc thêm  In Python không có dòng mới [SOLVED]

Nếu bạn muốn lưu trữ giá trị trả về từ reversed() chức năng để sử dụng sau này, thay vào đó, bạn phải đặt nó bên trong list() constructor và gán danh sách mới cho một biến, như sau:

#initial list
my_list = [10,20,30,40,50]

#use reversed() function to reverse order of my_list
#store new list that gets created to the variable my_new_list
my_new_list = list(reversed(my_list))

print(my_new_list)
#output
#[50, 40, 30, 20, 10]

Phần kết luận

Và bạn đã có nó – bây giờ bạn đã biết những kiến ​​thức cơ bản về cách hoạt động của danh sách đảo ngược trong Python!

Nếu bạn muốn tìm hiểu thêm về Python, freeCodeCamp cung cấp chứng chỉ Python

Trong chương trình giảng dạy dựa trên dự án này, bạn sẽ bắt đầu từ đầu. Bạn sẽ học các nguyên tắc cơ bản về lập trình và tiến tới các chủ đề phức tạp hơn. Cuối cùng, bạn sẽ xây dựng 5 dự án để thực hành các kỹ năng mới của mình.

Cảm ơn đã đọc và mã hóa hạnh phúc!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status