Khám phá cách sắp xếp danh sách theo thứ tự bảng chữ cái trong Python bằng cách sử dụng các hàm sắp xếp tích hợp của nó. Chúng tôi cũng xem xét việc tạo các loại tùy chỉnh.

Bạn đang xem : sắp xếp theo thứ tự bảng chữ cái trong python

Điều gì sẽ xảy ra nếu bạn có danh sách các chuỗi (mục văn bản) và bạn cần sắp xếp chúng theo thứ tự bảng chữ cái? Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sắp xếp danh sách bằng Python.

Một thuật toán sắp xếp đặt các phần tử của danh sách vào một thứ tự cụ thể. Chúng giúp giảm độ phức tạp của một vấn đề và thậm chí có thể tối ưu hóa các thuật toán khác.

Do tính phức tạp của nó, sắp xếp là một trong những vấn đề quan trọng nhất trong khoa học máy tính. Tóm lại, sắp xếp có thể được định nghĩa là sắp xếp các mục theo một trình tự có thứ tự. Mặc dù ý tưởng về các thuật toán sắp xếp thoạt nhìn có vẻ đơn giản, nhưng không phải vậy; nghiên cứu về nó đã bắt đầu cách đây 70 năm.

Tự viết một hàm sắp xếp tốt không phải là điều dễ dàng. May mắn thay, Python đi kèm với các chức năng sắp xếp tích hợp. Bài viết này sẽ khám phá cách sử dụng sort () sorted () để sắp xếp theo thứ tự bảng chữ cái trong Python.

Một ví dụ ngắn gọn về sắp xếp trong Python

Các thuật toán sắp xếp có nhiều ứng dụng. Ví dụ: các tổ chức chính phủ, doanh nghiệp thương mại và tổ chức tài chính đều tổ chức dữ liệu của họ bằng cách phân loại dữ liệu đó. Việc lưu trữ dữ liệu đã được sắp xếp giúp các thuật toán tìm kiếm dữ liệu đó sau này dễ dàng hơn.

Vậy, chính xác thì làm cách nào để bạn có thể sắp xếp danh sách theo thứ tự bảng chữ cái trong Python? Hãy xem một ví dụ nhanh.

Lưu ý: Nếu bạn không biết danh sách là gì và tại sao nó lại là một cấu trúc dữ liệu Python rất quan trọng, hãy xem bài viết của chúng tôi Danh sách, Tuples và Bộ trong Python . Bạn cũng có thể muốn tham khảo Điều khoản Python Người mới bắt đầu nên biết Phần 1 Phần 2 để biết thêm thông tin. Cuối cùng, tôi khuyến khích bạn đăng ký tham gia khóa học Cấu trúc dữ liệu Python tương tác của chúng tôi để bạn có thể thực hành các kỹ năng mới này.

Quay lại sắp xếp trong Python. Đây là mã cho một loại đơn giản:

& gt; & gt; & gt; mylist = ["world", "LearnPython.com", "dứa", "xe đạp"]
& gt; & gt; & gt; sorted_list = đã sắp xếp (danh sách của tôi)
& gt; & gt; & gt; print (sorted_list)
['LearnPython.com', 'xe đạp', 'quả dứa', 'thế giới']

Ở trên, danh sách mylist chứa các chuỗi “world”, “LearnPython.com”, “dứa” và “xe đạp” không theo thứ tự cụ thể. Chúng tôi muốn sắp xếp danh sách này và lưu trữ nó dưới dạng một biến mới có tên là sorted_list . Trong Python, việc sắp xếp danh sách theo thứ tự bảng chữ cái cũng dễ dàng như việc chuyển một danh sách các chuỗi vào phương thức sorted () . Các chuỗi được sắp xếp theo thứ tự bảng chữ cái dựa trên chữ cái đầu tiên của chúng (A-Z). Tuy nhiên, những từ bắt đầu bằng chữ hoa đứng trước những từ bắt đầu bằng chữ thường. ( Lưu ý : Điều này có nghĩa là “Ngựa vằn” sẽ được liệt kê trước “quả táo” vì “Ngựa vằn” bắt đầu bằng một chữ cái viết hoa.)

Giờ chúng ta đã hiểu sắp xếp là gì, chúng ta có thể bắt đầu với mã!

Sắp xếp danh sách theo thứ tự bảng chữ cái trong Python với sort ()

Đầu tiên, hãy sắp xếp danh sách theo thứ tự bảng chữ cái trong Python với phương thức sort () . Theo mặc định, sort () sẽ đặt các mục theo thứ tự tăng dần (A – Z).

Hãy lấy danh sách tương tự như trước:

& gt; & gt; & gt; mylist = ["world", "LearnPython.com", "dứa", "xe đạp"]
& gt; & gt; & gt; mylist.sort ()
& gt; & gt; & gt; in (mylist)
['LearnPython.com', 'xe đạp', 'quả dứa', 'thế giới']

Tuy nhiên, lưu ý rằng phương thức sort () sẽ trực tiếp sửa đổi danh sách ban đầu các mục và không thể hoàn tác bất kỳ thay đổi nào.

Xem Thêm  Python: Chia chuỗi thành danh sách với split () - chuỗi phân tách python thành danh sách

Nếu bạn muốn sắp xếp các mục theo thứ tự giảm dần (Z – A), bạn có thể thực hiện bằng cách đặt tham số ngược trong sort () True hoặc < mã> Sai .

& gt; & gt; & gt; mylist = ["world", "LearnPython.com", "dứa", "xe đạp"]
& gt; & gt; & gt; mylist.sort (ngược = Đúng)
& gt; & gt; & gt; in (mylist)
['world', 'dứa', 'xe đạp', 'LearnPython.com']

Và chúng ta bắt đầu! mylist hiện được sắp xếp theo thứ tự giảm dần.

Điều quan trọng cần lưu ý là hàm sort () sắp xếp đúng vị trí, tức là không yêu cầu thêm dung lượng. Theo Wikipedia :

Một thuật toán tại chỗ biến đổi dữ liệu đầu vào mà không cần cấu trúc phụ trợ.

Ý tưởng đằng sau một thuật toán tại chỗ là hiệu quả về không gian. Nói cách khác, chúng tôi muốn sử dụng tối thiểu tài nguyên phần cứng để hoàn thành tác vụ. Về cơ bản, đầu ra được tạo ra trong cùng một không gian bộ nhớ chứa đầu vào; dữ liệu được chuyển đổi liên tiếp tại chỗ. Điều này giúp tránh sử dụng gấp đôi bộ nhớ bằng cách giữ một bản sao của dữ liệu đầu vào.

Vì vậy, bạn có nên sử dụng sort () không?

Nếu bạn đang làm việc với dữ liệu quan trọng và thậm chí có khả năng bạn sẽ cần truy xuất dữ liệu gốc trong tương lai, thì sort () không phải là tùy chọn tốt nhất vì nó sửa đổi dữ liệu gốc. danh sách.

Mặt khác, nếu dữ liệu là bản sao hoặc dữ liệu làm việc không quan trọng, thì sort () có thể là một tùy chọn tốt. Một tùy chọn khác là sử dụng sorted () để thay thế.

Sắp xếp danh sách theo thứ tự bảng chữ cái trong Python với sorted ()

Python cũng có hàm sorted () , mà chúng tôi đã sử dụng trong ví dụ mở đầu. Trái ngược với sort () , phương thức này không sửa đổi danh sách ban đầu; nó trả về một danh sách mới có cùng nội dung với danh sách ban đầu nhưng theo thứ tự bảng chữ cái. Ví dụ:

& gt; & gt; & gt; new_list = ["Python", "chào mừng", "xin chào", "lập trình", "sắp xếp", "ngựa vằn", "cá sấu"]
& gt; & gt; & gt; sort_newlist = sorted (new_list)
& gt; & gt; & gt; print (sort_newlist)
['Python', 'alligator', 'xin chào', 'lập trình', 'sắp xếp', 'chào mừng', 'ngựa vằn']

Tại đây, new_list đã sắp xếp được lưu trữ trong một biến có tên là sort_newlist . Chúng tôi luôn có thể truy cập biến new_list .

Tương tự như sort () , sorted () cũng có đối số ngược là Sai theo mặc định. Hãy đặt nó thành True để sắp xếp lại new_list theo thứ tự giảm dần:

& gt; & gt; & gt; new_list = ["Python", "chào mừng", "xin chào", "lập trình", "sắp xếp", "ngựa vằn", "cá sấu"]
& gt; & gt; & gt; sort_newlist = sorted (new_list, reverse = True)
& gt; & gt; & gt; print (sort_newlist)
['ngựa vằn', 'chào mừng', 'sắp xếp', 'lập trình', 'xin chào', 'cá sấu', 'Python']

Sắp xếp danh sách theo thứ tự bảng chữ cái trong Python với khóa

Theo mặc định, sort () sorted () sử dụng toán tử so sánh & lt; . Bạn có thể sửa đổi thứ tự được sử dụng khi sắp xếp bằng cách chỉ định đối số chính.

Trước đây, chúng tôi thấy rằng sort () sorted () ưu tiên các chuỗi chữ hoa. Tuy nhiên, chúng tôi có thể muốn phân loại không phân biệt chữ hoa chữ thường. Điều này có thể được thực hiện bằng cách đặt đối số khóa thành str.lower (chuyển đổi tất cả các chuỗi thành ký tự chữ thường). Để sử dụng kiểu sắp xếp này trên dữ liệu của bạn, bạn sẽ cần một hàm hoặc bất kỳ hàm nào có thể gọi khác nhận một đối số và trả về một khóa được sử dụng để sắp xếp. Kỹ thuật này nhanh chóng vì hàm phím chỉ được gọi một lần cho mỗi đầu vào.

& gt; & gt; & gt; mylist = ["world", "LearnPython.com", "dứa", "xe đạp", "Anaconda", "Jupyter"]
& gt; & gt; & gt; mylist.sort (key = str.lower)
& gt; & gt; & gt; in (mylist)
['Anaconda', 'bike', 'Jupyter', 'LearnPython.com', 'dứa', 'thế giới']

Và tương tự với sorted () :

& gt; & gt; & gt; mylist = ["world", "LearnPython.com", "dứa", "xe đạp", "Anaconda", "Jupyter"]
& gt; & gt; & gt; sort_mylist = sorted (mylist, key = str.lower)
& gt; & gt; & gt; print (sort_mylist)
['Anaconda', 'bike', 'Jupyter', 'LearnPython.com', 'dứa', 'thế giới']

Chúng tôi cũng có thể sử dụng hàm lambda tùy chỉnh làm đối số chính. Giả sử, tôi có một danh sách các bộ chứa tên, nghề nghiệp và vị trí của mọi người. Chúng tôi muốn sắp xếp chúng theo thứ tự tăng dần dựa trên từng mục thứ hai của từng tuple. Điều này có thể được thực hiện bằng hàm lambda tùy chỉnh:

& gt; & gt; & gt; people = [('Anna', 'New York', 'Data Analyst'), ('Chris', 'Berlin', 'Software Developer'), ('Nancy', 'Toronto', 'Data Scientist')]
& gt; & gt; & gt; sorted_people = đã sắp xếp (mọi người, key = lambda x: x [1])
& gt; & gt; & gt; print (sorted_people)
[('Chris', 'Berlin', 'Nhà phát triển phần mềm'), ('Anna', 'New York', 'Nhà phân tích dữ liệu'), ('Nancy', 'Toronto', 'Nhà khoa học dữ liệu')]

Đầu ra là danh sách được sắp xếp theo thứ tự bảng chữ cái dựa trên thành phố vì x [1] truy cập vào mục thứ hai của bộ (tức là tên thành phố). Bạn có thể tìm hiểu thêm về cách sắp xếp lambda bằng Python trong bài viết trước của tôi về chức năng sắp xếp tùy chỉnh .

Xem Thêm  Cách thêm JavaScript vào html - cách liên kết tệp js của bạn với html

Hãy xem ví dụ ở trên, nhưng lần này với sort () :

& gt; & gt; & gt; people = [('Anna', 'New York', 'Data Analyst'), ('Chris', 'Berlin', 'Software Developer'), ('Nancy', 'Toronto', 'Data Scientist')]
& gt; & gt; & gt; people.sort (key = lambda x: x [1])
& gt; & gt; & gt; in (người)
[('Chris', 'Berlin', 'Nhà phát triển phần mềm'), ('Anna', 'New York', 'Nhà phân tích dữ liệu'), ('Nancy', 'Toronto', 'Nhà khoa học dữ liệu')]

Kết quả vẫn vậy, nhưng chúng tôi không có quyền truy cập vào danh sách người ban đầu nữa.

Tính ổn định của các thuật toán sắp xếp của Python

Cuối cùng, sort () sorted () được đảm bảo là ổn định. Sắp xếp ổn định có nghĩa là hai đối tượng có các khóa giống hệt nhau xuất hiện theo cùng một thứ tự trong đầu ra được sắp xếp như chúng thực hiện trong đầu vào ban đầu. Nói cách khác, sắp xếp ổn định đảm bảo rằng thứ tự ban đầu của dữ liệu có cùng thứ hạng được giữ lại trong đầu ra.

Tính ổn định của thuật toán sắp xếp cho phép khả năng có nhiều phiên bản được sắp xếp chính xác khác nhau của danh sách gốc.

Các thuật toán sắp xếp ổn định là điều cần thiết để duy trì thứ tự của các phần tử bằng nhau. Để được coi là như vậy, chúng không được thay đổi thứ tự tương đối của các phần tử được so sánh. Điều này giúp ích cho việc phân loại, chẳng hạn như nếu chúng ta cần thực hiện nhiều lần (như phân loại theo thành phố và nghề nghiệp) hoặc tương tự như vậy.

Mặt khác, sắp xếp không ổn định có thể xáo trộn một phần tử trong khi sắp xếp theo phần tử khác. Trong trường hợp này, việc sắp xếp theo thành phố có thể xáo trộn thứ tự tên, dẫn đến một danh sách trong đó những người được sắp xếp theo thành phố nhưng trong một thành phố, họ không được sắp xếp theo tên, mặc dù ban đầu họ được sắp xếp theo tên.

Điều này đặc biệt quan trọng khi bạn xử lý các danh sách phức tạp hơn. Ví dụ, bạn có thể có một danh sách các bộ giá trị với một chuỗi là phần tử đầu tiên. Bạn có thể sắp xếp danh sách theo thứ tự bảng chữ cái theo đối số đầu tiên, nhưng thứ tự ban đầu cho đối số thứ hai của mỗi bộ được giữ nguyên.

Sẵn sàng thực hành sắp xếp trong Python?

Bài viết này khám phá cách sắp xếp danh sách theo thứ tự bảng chữ cái trong Python. Chúng tôi đã khám phá ra cách sử dụng sort () và sorted () để sắp xếp trong Python và chúng khác nhau như thế nào. Chúng tôi cũng đã trình bày ngắn gọn về tính ổn định của các thuật toán sắp xếp trong Python.

Xem Thêm  Tên màu - màu web theo tên

Giờ bạn đã có kiến ​​thức vững chắc về sắp xếp trong Python, hãy tiếp tục và triển khai các giải pháp của riêng bạn bằng cách chơi với các đoạn mã ở trên.

Cuối cùng, đừng quên kiểm tra khóa học Thuật toán tích hợp trong Python tương tác của chúng tôi. Nó cung cấp cho bạn thực hành vững chắc và thực hành trong lập trình với Python. Bạn cũng có thể truy cập LearnPython.com để tìm hiểu thêm về các khóa học Python của chúng tôi.


Xem thêm những thông tin liên quan đến chủ đề sắp xếp theo thứ tự bảng chữ cái trong python

LeetCode 893: Groups of Special Equivalent Strings – Interview Prep Ep 36

  • Tác giả: Fisher Coder
  • Ngày đăng: 2020-01-01
  • Đánh giá: 4 ⭐ ( 5099 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: LeetCode 893. Groups of Special-Equivalent Strings: https://leetcode.com/problems/groups-of-special-equivalent-strings/

    Solution explained:

    1. All that we need to do is to come up with an algorithm to compute a unique and globally representative string for every specially equivalent group of string.
    2. One way is to count of frequencies of odd-indexed characters and even-indexed characters and use this as the globally unique representative;
    3. Another way is to extract the odd-indexed characters and even-indexed characters out and sort them in alphabetical order, then concatenate them, this will also form a globally unique representative.

    ⭐ Support my channel and connect with me:
    https://www.youtube.com/channel/UCPL5uAbYQ40HwAdOe4ikI0w/join

    // TOOLS THAT I USE:
    ○ Memory Foam Set Keyboard Wrist Rest Pad – https://amzn.to/3cOGOAj
    ○ Electric Height Adjustable Standing Desk – https://amzn.to/2S9YexJ
    ○ Apple Magic Keyboard (Wireless, Rechargable) – https://amzn.to/36gy5FJ
    ○ Apple Magic Trackpad 2 (Wireless, Rechargable) – https://amzn.to/36ltimu
    ○ Apple MacBook Pro – https://amzn.to/30iSvKE
    ○ All-In One Printer – https://amzn.to/34etmSi
    ○ Apple AirPods Pro – https://amzn.to/2GpVYQf
    ○ My new favorite Apple Watch – https://amzn.to/2EIIUFd

    // MY FAVORITE BOOKS:
    ○ Introduction to Algorithms – https://amzn.to/36hxHXD
    ○ Designing Data-Intensive Applications – https://amzn.to/2S7snOg
    ○ Head First Java – https://amzn.to/2ScLDKa
    ○ Design Patterns – https://amzn.to/2SaGeU2

    Follow me on Github for complete LeetCode solutions: https://github.com/fishercoder1534/Leetcode

    Support me on Patreon: https://www.patreon.com/fishercoder

    My ENTIRE Programming Equipment and Computer Science Bookshelf:
    https://www.amazon.com/shop/fishercoder

    And make sure you subscribe to my channel!

    Your comments/thoughts/questions/advice will be greatly appreciated!

    softwareengineering leetcode algorithms coding interview SDE SWE SiliconValley programming datastructures

Sắp xếp dictionary python

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 4 ⭐ ( 6535 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách sắp xếp dictionary python. Bạn sẽ học được cách sắp xếp dictionary python bằng hàm sorted() cũng như cách thay đổi luật sắp xếp dictionary python sau bài học này.

Chương trình Python để sắp xếp danh sách các bộ theo thứ tự bảng chữ cái

  • Tác giả: vn.wsxdn.com
  • Đánh giá: 4 ⭐ ( 9394 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Cách sắp xếp danh sách trong Python bằng cách sử dụng sort () và sorted ()

  • Tác giả: gialaipc.com.vn
  • Đánh giá: 3 ⭐ ( 6538 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [ad_1]
    Hướng dẫn Python này là một phần của hướng dẫn liên tục của chúng tôi về lập trình bằng Python. Mặc dù nó

Đếm các từ xuất hiện trong chuỗi python

  • Tác giả: nguyenvanhieu.vn
  • Đánh giá: 3 ⭐ ( 7653 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vậy bây giờ làm thế nào để đếm  các kí tự hay đếm các từ xuất hiện trong chuỗi trên.

Sắp xếp mảng tăng / giảm dần bằng Python

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 3909 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chương trình Python sắp xếp các phần tử trong mảng theo thứ tự tăng dần – giảm dần, các phần tử do người dùng nhập vào và đó phải là các số nguyên

Cách sắp xếp các chữ cái trong một chuỗi theo thứ tự abc trong Python

  • Tác giả: qastack.vn
  • Đánh giá: 5 ⭐ ( 2540 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Bạn có thể làm: >>> a = ‘ZENOVW’ >>> ”.join(sorted(a)) ‘ENOVWZ’

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php