You can sort string in python using “join() + sorted()” and “sorted() + reduce() + lambda” method combinations. String can sort the letter/characters in ascending or descending alphabetically order.
Example of Python sort string
Let’ see the example program in both ways.
1. Using join() + sorted()
First sorted list of characters and then join the result to get the resultant sorted string.
str1 = "BADCGEHF"
# using join() + sorted()
# Sorting a string
result = ''.join(sorted(str1))
# print result
print(result)
Output:

2. Using sorted() + reduce() + lambda
It’s Works only for Python2, in the example join the resultant sorted list of characters using the lambda function joined by the reduced function.
from functools import reduce
str = "BADCGEHF"
# using sorted() + reduce() + lambda
# Sorting a string
result = reduce(lambda x, y: x + y, sorted(str))
# print result
print("String after sorting : " + result)
Output: ABCDEFGH
Python sort string lexicographically
Given a string, we need to sort the words in lexicographical order.
def lexicographi_sort(s):
return sorted(sorted(s), key=str.upper)
print(lexicographi_sort('EyeHunts'))
Output: [‘E’, ‘e’, ‘H’, ‘n’, ‘s’, ‘t’, ‘u’, ‘y’]
Q: How to arrange string in ascending order in python
Answer: You can do it using the join and sorted function. See below example:-
str = 'BADCGEHF'
print(''.join(sorted(str)))
Output: ABCDEFGH
Q: How to sort a string alphabetically in Python?
Answer: Call sorted(iterable) with a string as iterable to return a list of the characters of the string sorted alphabetically. Use str.join(iterable) with "" as str and this list as iterable to create a sorted string.
a_string = "cba" sorted_char = sorted(a_string) a_string = "".join(sorted_char) print(a_string)
Output: abc
Do comment if you have any other way to do it or suggestions or doubts in this tutorial.
Note:
IDE: PyCharm 2020.1.1 (Community Edition)
macOS 10.15.4
Python 3.7
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.