Cách sắp xếp chuỗi theo thứ tự bảng chữ cái trong Python với chức năng sắp xếp

Chuỗi Python là bất biến có nghĩa là một khi nó được tạo ra thì không thể thay đổi nó. Đây là nơi mọi thứ trở nên phức tạp một chút

Python cung cấp một hàm sort[] để thực hiện việc sắp xếp. Hàm sort[] không hoạt động vì nó cố sắp xếp tại chỗ vì bạn không thể thay đổi chuỗi sau khi đã tạo

Vì vậy, hãy xem cách sắp xếp chuỗi theo thứ tự bảng chữ cái và đảo ngược chuỗi bằng cách sử dụng kết hợp các hàm khác nhau

Cách sắp xếp chuỗi trong Python

Để sắp xếp một chuỗi trong Python, hãy kết hợp các hàm sorted[] và string join[]. sorted[] là một hàm Python tích hợp trả về một danh sách được sắp xếp mới từ các phần tử trong iterable

Chuỗi tham gia [] là một hàm Python tích hợp trả về chuỗi được nối với các phần tử của một lần lặp

Phương thức sorted[] trả về danh sách các ký tự của chuỗi được sắp xếp theo thứ tự bảng chữ cái

Nhiệm vụ sắp xếp một chuỗi được thực hiện theo hai bước. Bước đầu ta lấy danh sách các ký tự đã sắp xếp và nối kết quả để được chuỗi đã sắp xếp

data = "immunoelectrophoretically"

print["The original string is : " + str[data]]

sortedString = ''.join[sorted[data]]

print["String after sorting : " + str[sortedString]]

đầu ra

The original string is : immunoelectrophoretically

String after sorting : acceeehiilllmmnoooprrttuy

Bạn có thể thấy từ đầu ra rằng sự kết hợp của các hàm trả về chuỗi được sắp xếp theo thứ tự bảng chữ cái

Có một cách nữa để sắp xếp một chuỗi bằng cách sử dụng kết hợp ba hàm

Sử dụng sorted[] + reduce[] + lambda để sắp xếp chuỗi

Phương thức reduce[] rất hữu ích khi áp dụng một hàm cho một lần lặp và giảm nó thành một giá trị tích lũy duy nhất. Hàm lambda trong Python là hàm được định nghĩa không có tên

Để sắp xếp một chuỗi theo thứ tự bảng chữ cái, hãy kết hợp các hàm sorted[], reduce[] và lambda. Python không tích hợp sẵn hàm reduce[]. Vì vậy, chúng ta cần nhập một gói có tên là funcools, gói này có hàm reduce[].

import functools

data = "immunoelectrophoretically"

print["The original string is : " + str[data]]

sortedString = functools.reduce[lambda x, y: x + y, sorted[data]]

print["String after sorting : " + str[sortedString]]

đầu ra

The original string is : immunoelectrophoretically

String after sorting : acceeehiilllmmnoooprrttuy

Và chúng tôi nhận được chuỗi được sắp xếp theo thứ tự bảng chữ cái ở đầu ra

Cách sắp xếp ngược chuỗi trong Python

Để sắp xếp một chuỗi theo thứ tự đảo ngược trong Python, hãy sử dụng hàm sorted[] và join[] rồi chuyển đối số reverse = True cho hàm sorted[]

data = "immunoelectrophoretically"

print["The original string is : " + str[data]]

reverseSorted = ''.join[sorted[data, reverse = True]]

print["The reverse sorted string: ",reverseSorted]

đầu ra

The original string is : immunoelectrophoretically

The reverse sorted string: yuttrrpooonmmllliiheeecca

Ở đầu ra, bạn có thể thấy rằng nó đã trả về một chuỗi được sắp xếp ngược lại

Sắp xếp các chuỗi số trong một danh sách trong Python

Để sắp xếp các chuỗi số trong danh sách, hãy sử dụng hàm list sort[]. Bạn cần chỉ định khóa dưới dạng số nguyên để chuyển đổi nó thành số nguyên trong khi thực hiện chức năng sắp xếp bên trong

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để sắp xếp một chuỗi theo thứ tự bảng chữ cái. Bạn sẽ học một số cách khác nhau để thực hiện việc này, bao gồm sắp xếp các chuỗi theo thứ tự bảng chữ cái, bất kể trường hợp nào và chú ý đến trường hợp. Bạn cũng sẽ học cách sắp xếp các ký tự duy nhất và cách sắp xếp chuỗi trong khi loại bỏ khoảng trắng và dấu chấm câu

Có thể làm việc với chuỗi Python và biết cách sắp xếp chúng có nhiều ứng dụng hữu ích trong Python. Ví dụ: bạn có thể kiểm tra các chuỗi trùng lặp để cắt bớt dữ liệu của mình trước khi thực hiện xử lý ngôn ngữ tự nhiên. Ngoài ra, bạn có thể đang xây dựng trò chơi và cần kiểm tra đảo chữ cái trong chương trình của mình

Câu trả lời nhanh. Sử dụng "". tham gia [đã sắp xếp [a_string, key=str. thấp hơn]]

Sử dụng Python để sắp xếp một chuỗi bằng cách sử dụng sorted[]

Mục lục

Sắp xếp chuỗi Python với Sorted

Python đi kèm với một chức năng, sorted[], được tích hợp sẵn. Hàm này lấy một mục có thể lặp lại và sắp xếp các phần tử theo một khóa đã cho. Giá trị mặc định cho khóa này là

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
1, so sánh trực tiếp các phần tử. Hàm trả về danh sách tất cả các phần tử đã được sắp xếp

Hãy xem nó trông như thế nào

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
print[sorted_word]

# Returns: ['a', 'a', 'd', 'g', 't', 'y']

Chúng ta có thể thấy rằng khi chúng ta áp dụng hàm

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
2 cho chuỗi của mình, một danh sách sẽ được trả về. Các mục danh sách được sắp xếp theo thứ tự bảng chữ cái

Làm thế nào chúng ta có thể biến danh sách này trở lại thành một chuỗi? . phương thức join[], như hình bên dưới

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty

Chúng ta có thể thấy rằng chuỗi hiện đã được sắp xếp [và trở lại là một chuỗi]. Chúng ta thực sự có thể kết hợp điều này thành một dòng duy nhất bằng cách viết

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = ''.join[sorted[word]]
print[sorted_word]

# Returns: aadgty

Bây giờ, điều gì sẽ xảy ra khi chúng ta thêm một số chữ hoa vào chuỗi của mình?

# Sort a Python String with sorted[]
word = 'Datagy'

sorted_word = ''.join[sorted[word]]
print[sorted_word]

# Returns: Daagty

Chúng ta có thể thấy rằng bây giờ chữ hoa

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
3 xuất hiện trước chữ thường
# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
4. Lý do tại sao điều này xảy ra? . Trong trường hợp này, các chữ in hoa được sắp xếp trước các giá trị chữ thường

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sắp xếp chuỗi Pythons mà không phân biệt chữ hoa chữ thường, điều này có thể mang lại cho bạn kết quả mà bạn đang tìm kiếm

Bạn muốn tìm hiểu cách đảo ngược một chuỗi trong Python? . con trăn. Đảo ngược một chuỗi [6 cách dễ dàng]

Sắp xếp một chuỗi Python với Sắp xếp mà không phân biệt chữ hoa chữ thường

Trong ví dụ trên, bạn đã học cách sử dụng hàm

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
2 cho một chuỗi trong Python. Tuy nhiên, chỉ cần áp dụng hàm
# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
2 mà không có
# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
7, kết quả là các chữ hoa được sắp xếp trước tất cả các chữ thường. Điều gì sẽ xảy ra nếu chúng ta muốn sắp xếp một chuỗi có chữ in hoa nhưng đặt chúng theo thứ tự bảng chữ cái?

Đối số

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
8 cho phép chúng ta truyền vào một hàm cho phép Python tạo khóa so sánh cho từng phần tử trong iterable. Điều này có nghĩa là chúng ta có thể sử dụng hàm để tạo một giá trị để so sánh với. Trong ví dụ trước, giá trị này được đặt thành giá trị mặc định là
# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
1, có nghĩa là các giá trị được so sánh trực tiếp với nhau

Hãy xem cách chúng ta có thể sử dụng tham số

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
8 của hàm
# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
2 để sắp xếp chuỗi, bỏ qua phân biệt chữ hoa chữ thường

# Sort a Python String with sorted[]
word = 'Datagy'

sorted_word = ''.join[sorted[word, key=str.lower]]
print[sorted_word]

# Returns: aaDgty

Chúng ta có thể thấy ở đây rằng, trong khi tất cả các khóa trong chuỗi vẫn ở dạng ban đầu, chúng hiện được sắp xếp dựa trên chữ thường tương đương của chúng. Đây là một cách tuyệt vời để sắp xếp một chuỗi trong khi vẫn duy trì tính toàn vẹn của chuỗi gốc, nếu việc viết hoa là quan trọng

Nếu bạn không quan tâm đến cách viết hoa, bạn luôn có thể chuyển đổi chuỗi thành chữ thường. Bằng cách này, bạn không cần áp dụng tham số

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
8. Hãy xem nó trông như thế nào

# Sort a Python String with sorted[]
word = 'Datagy'

sorted_word = ''.join[sorted[word.lower[]]]
print[sorted_word]

# Returns: aadgty

Chúng ta có thể thấy ở đây rằng chúng ta đã sử dụng cùng một phương thức chuỗi,

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = ''.join[sorted[word]]
print[sorted_word]

# Returns: aadgty
4, như chúng ta đã làm trước đó, để chuyển đổi chuỗi thành chữ thường. Tất nhiên, điều này làm thay đổi các giá trị của chuỗi, do đó loại bỏ tính toàn vẹn của dữ liệu gốc

Trong phần tiếp theo, bạn sẽ học cách sắp xếp một chuỗi chỉ với các ký tự duy nhất

Bạn muốn tìm hiểu cách chuyển đổi một chuỗi thành chữ thường? . Chuỗi chữ thường Python với. thấp hơn[],. trường hợp [] và. thấp hơn[]

Sắp xếp chuỗi Python chỉ với các ký tự duy nhất

Bạn có thể chỉ muốn sắp xếp các ký tự khác nhau của một chuỗi với các ký tự duy nhất trong chuỗi đó. Với điều này, chúng ta có thể sử dụng hàm

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = ''.join[sorted[word]]
print[sorted_word]

# Returns: aadgty
5 của Python, mà chúng ta có thể sử dụng để biến một mục thành một tập hợp. Bộ là một trong những cấu trúc bộ chứa dữ liệu chính của Python. Một trong những đặc điểm độc đáo của họ là tất cả các mặt hàng trong đó là duy nhất

Chúng ta có thể sử dụng tính duy nhất làm lợi thế của mình ở đây - chúng ta có thể biến chuỗi của mình thành một tập hợp và sau đó sắp xếp các giá trị. Cuối cùng, chúng ta có thể chuyển đổi nó trở lại thành một chuỗi bằng cách sử dụng phương thức chuỗi

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = ''.join[sorted[word]]
print[sorted_word]

# Returns: aadgty
6

Hãy xem nó trông như thế nào

# Sort a Python String with sorted[]
word = 'Datagy'

sorted_word = ''.join[sorted[set[word]]]
print[sorted_word]

# Returns: Dagty

Chúng ta có thể thấy ở đây chuỗi chỉ được sắp xếp cho các ký tự duy nhất. Nếu chúng tôi muốn sắp xếp lại các ký tự của mình bằng cách sử dụng phân biệt chữ hoa chữ thường, chúng tôi có thể áp dụng phương pháp tương tự như được hiển thị ở trên

# Sort a Python String with sorted[]
word = 'Datagy'

sorted_word = ''.join[sorted[set[word], key=str.lower]]
print[sorted_word]

# Returns: aDgty

Vì các chuỗi Python thường khá lộn xộn và có thể chứa khoảng trắng và dấu chấm câu. Nếu bạn muốn tìm hiểu cách sắp xếp chuỗi không có khoảng trắng và dấu chấm câu, hãy xem phần tiếp theo

Bạn muốn kiểm tra xem một chuỗi Python có phải là một bảng màu không? . con trăn. Kiểm tra xem một chuỗi có phải là Palindrome hay không [5 cách dễ dàng. ]

Sắp xếp chuỗi Python và xóa khoảng trắng và dấu chấm câu

Trong phần cuối cùng này, bạn sẽ học cách sắp xếp chuỗi Python và xóa khoảng trắng và dấu câu. Vì các chuỗi Python thường chứa các ký tự không theo thứ tự bảng chữ cái, nên chúng ta có thể tìm cách sắp xếp chuỗi của mình bỏ qua các giá trị này

Để làm điều này, trước tiên chúng ta có thể lọc chuỗi của mình bằng phương thức chuỗi

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = ''.join[sorted[word]]
print[sorted_word]

# Returns: aadgty
7, chỉ giữ lại các ký tự chữ cái. Hãy xem cách chúng ta có thể làm điều này trong Python

# Sort a Python String with sorted[]
word = 'da ta ?gy!'

sorted_word = ''.join[filter[lambda x:x.isalpha[], sorted[word,key=lambda x:x.lower[]]]]

print[sorted_word]

# Returns: aadgty

Hãy xem những gì chúng tôi đã làm ở đây

  1. Trước tiên, chúng tôi sắp xếp từ bằng cách sử dụng phân biệt chữ hoa chữ thường
  2. Sau đó, chúng tôi sử dụng hàm
    # Sort a Python String with sorted[]
    word = 'datagy'
    
    sorted_word = ''.join[sorted[word]]
    print[sorted_word]
    
    # Returns: aadgty
    8 để chỉ giữ lại các ký tự chữ cái
  3. Cuối cùng, chúng tôi tham gia danh sách các ký tự của chúng tôi trở lại thành một chuỗi duy nhất

Bạn muốn tìm hiểu cách xóa tất cả các ký tự đặc biệt trong chuỗi Python? . Xóa các ký tự đặc biệt khỏi chuỗi

Phần kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python để sắp xếp một chuỗi. Bạn đã học được một số cách khác nhau để thực hiện việc này bao gồm cách sử dụng hàm

# Sort a Python String with sorted[]
word = 'datagy'

sorted_word = sorted[word]
sorted_word = ''.join[sorted_word]
print[sorted_word]

# Returns: aadgty
2 có và không có phân biệt chữ hoa chữ thường. Bạn cũng đã học cách sắp xếp chỉ các chữ cái duy nhất và cách chỉ sắp xếp các ký tự chữ cái, do đó loại bỏ khoảng trắng và dấu chấm câu

Sort[] có sắp xếp theo thứ tự bảng chữ cái không?

Như đã nói ở trên, phương thức sort[] có thể được sử dụng để sắp xếp danh sách theo thứ tự abc trong Python . Tuy nhiên, phương pháp này vĩnh viễn thay đổi thứ tự của các mục trong danh sách.

Chúng ta có thể sắp xếp chuỗi bằng chức năng sắp xếp không?

Tuy nhiên, vì hàm sort[] được cung cấp cũng sử dụng thuật toán sắp xếp nhanh để sắp xếp chuỗi, nên chỉ có thể sắp xếp các chuỗi không có khoảng cách bằng hàm này.

sort[] có phải là phương thức chuỗi trong Python không?

Trong Python, có hai cách, sort[] và sorted[] , để sắp xếp danh sách [ list ] theo thứ tự tăng dần hoặc giảm dần. Nếu bạn muốn sắp xếp chuỗi [ str ] hoặc bộ [ tuple ], hãy sử dụng sorted[] .

Chủ Đề