Hôm nay chúng ta sẽ học Sắp xếp số trong Python mà không cần chức năng sắp xếp. Có một Kata tương tự trong Codewars để Chỉ sắp xếp các số lẻ mà không có Hàm sắp xếp trong Python. Liên kết của Kata tương tự [chỉ sắp xếp các số lẻ] được cung cấp TẠI ĐÂY
Nhiệm vụ
Bạn sẽ được cung cấp một dãy số. Bạn phải sắp xếp các số theo thứ tự tăng dần
Python đã tích hợp sẵn chức năng sắp xếp khiến chúng ta lười suy nghĩ rằng làm thế nào chúng ta có thể sắp xếp một danh sách trong python mà không sử dụng chức năng đó
Bạn cũng sẽ học một cách khác để thực hiện sắp xếp trong Python bằng cách sử dụng hàm
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 để bạn có thể thấy nó khác với list_name.sort[]
9 như thế nàoCuối cùng, bạn sẽ biết những kiến thức cơ bản về sắp xếp danh sách trong Python và biết cách tùy chỉnh việc sắp xếp để phù hợp với nhu cầu của bạn
Đây là những gì chúng tôi sẽ đề cập
Phương pháp list_name.sort[]
9 - Tổng quan về cú pháp
list_name.sort[]
Phương thức
list_name.sort[]
9 là một trong những cách bạn có thể sắp xếp danh sách trong PythonKhi sử dụng
list_name.sort[]
9, bạn sắp xếp một danh sách tại chỗ. Điều này có nghĩa là danh sách ban đầu được sửa đổi trực tiếp. Cụ thể, thứ tự ban đầu của các phần tử bị thay đổiCú pháp chung của phương thức
list_name.sort[]
9 trông như thế nàylist_name.sort[reverse=..., key=.. ]
Hãy phá vỡ nó
2 là tên của danh sách bạn đang làm việc# a list of strings programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"] #sort list in-place in alphabetical order programming_languages.sort[] #print modified list print[programming_languages] #output #['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
9 là một trong các phương thức danh sách của Python để sắp xếp và thay đổi danh sách. Nó sắp xếp các phần tử danh sách theo thứ tự tăng dần hoặc giảm dầnlist_name.sort[]
9 chấp nhận hai tham số tùy chọnlist_name.sort[]
5 là tham số tùy chọn đầu tiên. Nó chỉ định xem danh sách sẽ được sắp xếp theo thứ tự tăng dần hay giảm dần. Nó nhận một giá trị Boolean, nghĩa là giá trị là Đúng hoặc Sai. Giá trị mặc định là Sai, nghĩa là danh sách được sắp xếp theo thứ tự tăng dần. Đặt nó thành True sắp xếp ngược danh sách, theo thứ tự giảm dần# a list of strings programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"] #sort list in-place in alphabetical order programming_languages.sort[] #print modified list print[programming_languages] #output #['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
3 là tham số tùy chọn thứ hai. Nó nhận một hàm hoặc phương thức được sử dụng để chỉ định bất kỳ tiêu chí sắp xếp chi tiết nào mà bạn có thể có# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
Phương thức
list_name.sort[]
9 trả về # a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in alphabetical order
programming_languages.sort[]
#print modified list
print[programming_languages]
#output
#['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
8, có nghĩa là không có giá trị trả về vì nó chỉ sửa đổi danh sách ban đầu. Nó không trả về một danh sách mớiCách sắp xếp các mục trong danh sách theo thứ tự tăng dần bằng phương pháp list_name.sort[]
9
list_name.sort[]
Như đã đề cập trước đó, theo mặc định,
list_name.sort[]
9 sắp xếp các mục danh sách theo thứ tự tăng dầnThứ tự tăng dần [hoặc tăng dần] có nghĩa là các mục được sắp xếp từ giá trị thấp nhất đến giá trị cao nhất
Giá trị thấp nhất ở phía bên trái và giá trị cao nhất ở bên phải
Cú pháp chung để làm điều này sẽ giống như sau
list_name.sort[]
Hãy xem ví dụ sau đây cho biết cách sắp xếp danh sách các số nguyên
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
Trong ví dụ trên, các số được sắp xếp từ nhỏ nhất đến lớn nhất
Bạn cũng có thể đạt được điều tương tự khi làm việc với danh sách các chuỗi
# a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in alphabetical order
programming_languages.sort[]
#print modified list
print[programming_languages]
#output
#['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
Trong trường hợp này, mỗi chuỗi có trong danh sách được sắp xếp theo thứ tự bảng chữ cái
Như bạn đã thấy trong cả hai ví dụ, danh sách ban đầu đã được thay đổi trực tiếp
Cách sắp xếp các mục trong danh sách theo thứ tự giảm dần bằng phương pháp list_name.sort[]
9
list_name.sort[]
Thứ tự giảm dần [hoặc giảm dần] ngược lại với thứ tự tăng dần - các phần tử được sắp xếp từ giá trị cao nhất đến giá trị thấp nhất
Để sắp xếp các mục trong danh sách theo thứ tự giảm dần, bạn cần sử dụng tham số
# a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in alphabetical order
programming_languages.sort[]
#print modified list
print[programming_languages]
#output
#['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
5 tùy chọn với phương thức list_name.sort[]
9 và đặt giá trị của nó thành list_name.sort[reverse=True]
4Cú pháp chung để làm điều này sẽ giống như thế này
list_name.sort[reverse=True]
Hãy sử dụng lại ví dụ tương tự từ phần trước, nhưng lần này làm cho nó sao cho các số được sắp xếp theo thứ tự ngược lại
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in descending order
my_numbers.sort[reverse=True]
#print modified list
print[my_numbers]
#output
#[100, 54, 33, 22, 11, 10, 8, 7, 3]
Bây giờ tất cả các số được sắp xếp ngược lại, với giá trị lớn nhất ở phía bên trái và nhỏ nhất ở bên phải
Bạn cũng có thể đạt được điều tương tự khi làm việc với danh sách các chuỗi
# a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in reverse alphabetical order
programming_languages.sort[reverse=True]
#print modified list
print[programming_languages]
#output
#['Swift', 'Rust', 'Python', 'Java', 'Go', 'C++']
Các mục danh sách hiện được sắp xếp theo thứ tự bảng chữ cái đảo ngược
Cách sắp xếp các mục trong danh sách bằng cách sử dụng tham số # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 với phương pháp list_name.sort[]
9
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
list_name.sort[]
Bạn có thể sử dụng tham số
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 để thực hiện các thao tác sắp xếp tùy chỉnh hơnGiá trị được gán cho tham số
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 cần phải là thứ có thể gọi đượcCallable là thứ có thể gọi được, có nghĩa là nó có thể được triệu gọi và tham chiếu
Một số ví dụ về các đối tượng có thể gọi được là các phương thức và hàm
Phương thức hoặc chức năng được gán cho
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 này sẽ được áp dụng cho tất cả các phần tử trong danh sách trước khi xảy ra bất kỳ sự sắp xếp nào và sẽ chỉ định logic cho tiêu chí sắp xếpGiả sử bạn muốn sắp xếp danh sách các chuỗi dựa trên độ dài của chúng
Đối với điều đó, bạn chỉ định hàm
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in descending order
my_numbers.sort[reverse=True]
#print modified list
print[my_numbers]
#output
#[100, 54, 33, 22, 11, 10, 8, 7, 3]
0 tích hợp cho tham số # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3Hàm
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in descending order
my_numbers.sort[reverse=True]
#print modified list
print[my_numbers]
#output
#[100, 54, 33, 22, 11, 10, 8, 7, 3]
0 sẽ đếm độ dài của mỗi phần tử được lưu trữ trong danh sách bằng cách đếm các ký tự có trong phần tử đóprogramming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
programming_languages.sort[key=len]
print[programming_languages]
#output
#['Go', 'C++', 'Java', 'Rust', 'Swift', 'Python']
Trong ví dụ trên, các chuỗi được sắp xếp theo thứ tự tăng dần mặc định, nhưng lần này việc sắp xếp xảy ra dựa trên độ dài của chúng
Chuỗi ngắn nhất ở bên trái và dài nhất ở bên phải
Các tham số
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 và # a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in alphabetical order
programming_languages.sort[]
#print modified list
print[programming_languages]
#output
#['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
5 cũng có thể được kết hợpVí dụ: bạn có thể sắp xếp các mục trong danh sách dựa trên độ dài của chúng nhưng theo thứ tự giảm dần
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
programming_languages.sort[key=len, reverse=True]
print[programming_languages]
#output
#['Python', 'Swift', 'Java', 'Rust', 'C++', 'Go']
Trong ví dụ trên, các chuỗi đi từ dài nhất đến ngắn nhất
Một điều khác cần lưu ý là bạn có thể tạo chức năng sắp xếp tùy chỉnh của riêng mình, để tạo tiêu chí sắp xếp rõ ràng hơn
Ví dụ: bạn có thể tạo một hàm cụ thể rồi sắp xếp danh sách theo giá trị trả về của hàm đó
Giả sử bạn có một danh sách các từ điển có ngôn ngữ lập trình và năm tạo ra từng ngôn ngữ lập trình
programming_languages = [{'language':'Python','year':1991},
{'language':'Swift','year':2014},
{'language':'Java', 'year':1995},
{'language':'C++','year':1985},
{'language':'Go','year':2007},
{'language':'Rust','year':2010},
]
Bạn có thể xác định một hàm tùy chỉnh nhận giá trị của một khóa cụ thể từ từ điển
💡 Hãy nhớ rằng khóa từ điển và tham số
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 mà list_name.sort[]
9 chấp nhận là hai điều khác nhauCụ thể, hàm sẽ lấy và trả về giá trị của khóa
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in descending order
my_numbers.sort[reverse=True]
#print modified list
print[my_numbers]
#output
#[100, 54, 33, 22, 11, 10, 8, 7, 3]
7 trong danh sách từ điển, trong đó chỉ định năm tạo ra mọi ngôn ngữ trong từ điểnSau đó, giá trị trả về sẽ được áp dụng làm tiêu chí sắp xếp cho danh sách
list_name.sort[]
0Sau đó, bạn có thể sắp xếp theo giá trị trả về của hàm bạn đã tạo trước đó bằng cách gán nó cho tham số
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 và sắp xếp theo thứ tự thời gian tăng dần mặc địnhlist_name.sort[]
1đầu ra
list_name.sort[]
2Nếu bạn muốn sắp xếp từ ngôn ngữ được tạo gần đây nhất đến ngôn ngữ cũ nhất hoặc theo thứ tự giảm dần, thì bạn sử dụng tham số
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in descending order
my_numbers.sort[reverse=True]
#print modified list
print[my_numbers]
#output
#[100, 54, 33, 22, 11, 10, 8, 7, 3]
9list_name.sort[]
3đầu ra
list_name.sort[]
4Để đạt được kết quả chính xác như vậy, bạn có thể tạo hàm lambda
Thay vì sử dụng chức năng tùy chỉnh thông thường mà bạn đã xác định bằng từ khóa
# a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in reverse alphabetical order
programming_languages.sort[reverse=True]
#print modified list
print[programming_languages]
#output
#['Swift', 'Rust', 'Python', 'Java', 'Go', 'C++']
0, bạn có thể- tạo một biểu thức một dòng ngắn gọn,
- và không xác định tên hàm như bạn đã làm với hàm
0. Hàm lambda còn được gọi là hàm ẩn danh# a list of strings programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"] #sort list in-place in reverse alphabetical order programming_languages.sort[reverse=True] #print modified list print[programming_languages] #output #['Swift', 'Rust', 'Python', 'Java', 'Go', 'C++']
list_name.sort[]
5Hàm lambda được chỉ định với dòng
# a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in reverse alphabetical order
programming_languages.sort[reverse=True]
#print modified list
print[programming_languages]
#output
#['Swift', 'Rust', 'Python', 'Java', 'Go', 'C++']
2 sắp xếp các ngôn ngữ lập trình này từ cũ nhất đến mới nhấtSự khác biệt giữa list_name.sort[]
9 và # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0
list_name.sort[]
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
Phương thức
list_name.sort[]
9 hoạt động tương tự như hàm # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0Cú pháp chung của hàm
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 trông như thế nàylist_name.sort[]
6Hãy phá vỡ nó
0 là một chức năng tích hợp chấp nhận một lần lặp. Sau đó, nó sắp xếp nó theo thứ tự tăng dần hoặc giảm dần# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 chấp nhận ba tham số. Một tham số là bắt buộc và hai tham số còn lại là tùy chọn# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
2 là tham số bắt buộc. Trong trường hợp này, tham số là danh sách, nhưng# a list of strings programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"] #sort list in-place in alphabetical order programming_languages.sort[] #print modified list print[programming_languages] #output #['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
0 chấp nhận bất kỳ đối tượng có thể lặp lại nào khác# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 cũng chấp nhận các tham số tùy chọn# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
5 và# a list of strings programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"] #sort list in-place in alphabetical order programming_languages.sort[] #print modified list print[programming_languages] #output #['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
3, đây là các tham số tùy chọn tương tự mà phương thức# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
9 chấp nhậnlist_name.sort[]
Sự khác biệt chính giữa
list_name.sort[]
9 và # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 là hàm # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 lấy một danh sách và trả về một bản sao mới được sắp xếp của nóBản sao mới chứa các phần tử của danh sách gốc theo thứ tự được sắp xếp
Các phần tử trong danh sách ban đầu không bị ảnh hưởng và không thay đổi
Vì vậy, để tóm tắt sự khác biệt
- Phương thức
9 không có giá trị trả về và trực tiếp sửa đổi danh sách ban đầu, thay đổi thứ tự của các phần tử chứa trong đólist_name.sort[]
- Mặt khác, hàm
0 có giá trị trả về là bản sao được sắp xếp của danh sách gốc. Bản sao đó chứa các mục danh sách của danh sách gốc theo thứ tự được sắp xếp. Cuối cùng, danh sách ban đầu vẫn còn nguyên# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
Hãy xem ví dụ sau để xem nó hoạt động như thế nào
list_name.sort[]
7Vì không có đối số bổ sung nào được cung cấp cho
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0, nó đã sắp xếp bản sao của danh sách gốc theo thứ tự tăng dần mặc định, từ giá trị nhỏ nhất đến giá trị lớn nhấtVà khi in danh sách ban đầu, bạn thấy rằng nó vẫn giữ nguyên và các mặt hàng có thứ tự ban đầu
Như bạn đã thấy trong ví dụ trên, bản sao của danh sách đã được gán cho một biến mới,
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
programming_languages.sort[key=len, reverse=True]
print[programming_languages]
#output
#['Python', 'Swift', 'Java', 'Rust', 'C++', 'Go']
2Điều đó không thể thực hiện được với
list_name.sort[]
9Kiểm tra ví dụ sau để xem điều gì sẽ xảy ra nếu điều đó được thử bằng phương pháp
list_name.sort[]
9list_name.sort[]
8Bạn thấy rằng giá trị trả về của
list_name.sort[]
9 là # a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in alphabetical order
programming_languages.sort[]
#print modified list
print[programming_languages]
#output
#['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
8Cuối cùng, một điều khác cần lưu ý là các tham số
# a list of strings
programming_languages = ["Python", "Swift","Java", "C++", "Go", "Rust"]
#sort list in-place in alphabetical order
programming_languages.sort[]
#print modified list
print[programming_languages]
#output
#['C++', 'Go', 'Java', 'Python', 'Rust', 'Swift']
5 và # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
3 mà hàm # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 chấp nhận hoạt động giống như cách chúng thực hiện với phương thức list_name.sort[]
9 mà bạn đã thấy trong các phần trướcKhi nào nên sử dụng list_name.sort[]
9 và # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0
list_name.sort[]
# a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
Dưới đây là một số điều bạn có thể muốn cân nhắc khi quyết định xem mình có nên sử dụng
list_name.sort[]
9 so với # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0Trước tiên, hãy xem xét loại dữ liệu bạn đang làm việc với
- Nếu bạn đang làm việc nghiêm túc với một danh sách ngay từ đầu, thì bạn sẽ cần sử dụng phương pháp
9 vìlist_name.sort[]
9 chỉ được gọi trong danh sáchlist_name.sort[]
- Mặt khác, nếu bạn muốn linh hoạt hơn và chưa làm việc với danh sách, thì bạn có thể sử dụng
0. Hàm# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 chấp nhận và sắp xếp bất kỳ khả năng lặp nào [như từ điển, bộ dữ liệu và bộ] chứ không chỉ danh sách# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
Tiếp theo, một điều khác cần xem xét là liệu bạn có giữ lại thứ tự ban đầu của danh sách mà bạn đang làm việc hay không.
- Khi gọi cho
9, danh sách ban đầu sẽ bị thay đổi và đơn hàng ban đầu sẽ bị mất. Bạn sẽ không thể truy xuất vị trí ban đầu của các thành phần danh sách. Sử dụnglist_name.sort[]
9 khi bạn chắc chắn muốn thay đổi danh sách bạn đang làm việc và chắc chắn rằng bạn không muốn giữ lại thứ tự đã cólist_name.sort[]
- Mặt khác,
0 hữu ích khi bạn muốn tạo một danh sách mới nhưng vẫn muốn giữ lại danh sách mà bạn đang làm việc. Hàm# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
0 sẽ tạo một danh sách được sắp xếp mới với các phần tử danh sách được sắp xếp theo thứ tự mong muốn# a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort[] #print modified list print[my_numbers] #output #[3, 7, 8, 10, 11, 22, 33, 54, 100]
Cuối cùng, một điều khác mà bạn có thể muốn xem xét khi làm việc với các tập dữ liệu lớn hơn, đó là hiệu quả về thời gian và bộ nhớ
- Phương thức
9 chiếm và tiêu thụ ít bộ nhớ hơn vì nó chỉ sắp xếp danh sách tại chỗ và không tạo danh sách mới không cần thiết mà bạn không cần. Vì lý do tương tự, nó cũng nhanh hơn một chút vì nó không tạo bản sao. Điều này có thể hữu ích khi bạn đang làm việc với các danh sách lớn hơn chứa nhiều phần tử hơnlist_name.sort[]
Phần kết luận
Và bạn có nó rồi đấy. Bây giờ bạn đã biết cách sắp xếp danh sách trong Python bằng phương thức
list_name.sort[]
9Bạn cũng đã xem qua sự khác biệt chính giữa việc sắp xếp danh sách bằng cách sử dụng
list_name.sort[]
9 và # a list of numbers
my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54]
#sort list in-place in ascending order
my_numbers.sort[]
#print modified list
print[my_numbers]
#output
#[3, 7, 8, 10, 11, 22, 33, 54, 100]
0Tôi hy vọng bạn tìm thấy bài viết này hữu ích
Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem Chứng chỉ máy tính khoa học với Python của freeCodeCamp
Bạn sẽ bắt đầu từ những điều cơ bản và học theo cách tương tác và thân thiện với người mới bắt đầu. Cuối cùng, bạn cũng sẽ xây dựng năm dự án để đưa vào thực tế và giúp củng cố những gì bạn đã học
Cảm ơn đã đọc và mã hóa hạnh phúc
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Học một cái gì đó mới mỗi ngày và viết về nó
Nếu bài viết này hữu ích, hãy tweet nó
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu