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]]
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ếpHã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áiLà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ườngTrong 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 nhauHã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ốcTrong 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ấtChú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
6Hã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
- 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
- Sau đó, chúng tôi sử dụng hàm
8 để chỉ giữ lại các ký tự chữ cái# Sort a Python String with sorted[] word = 'datagy' sorted_word = ''.join[sorted[word]] print[sorted_word] # Returns: aadgty
- 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