Python程序对字符串进行排序
排序一直是非常流行的实用程序,到处都有很多应用程序,其中选择了Python语言。 Python在其语言中提供了一个排序函数来执行此任务。但由于并非Python中的所有容器都是可变的,例如字符串,因此 sort函数不起作用,因为它就地尝试排序,而不变性阻止了这一点。让我们讨论一些可以对字符串进行排序的方法。
方法#1: join() + sorted()
上述功能的组合可以潜在地解决这个特定问题。这个任务分两步执行,第一步我们得到排序后的字符列表,然后我们加入结果来得到排序后的字符串。
# Python3 code to demonstrate
# Sorting a string
# using join() + sorted()
# initializing string
test_string = "geekforgeeks"
# printing original string
print("The original string : " + str(test_string))
# using join() + sorted()
# Sorting a string
res = ''.join(sorted(test_string))
# print result
print("String after sorting : " + str(res))
输出 :
The original string : geekforgeeks
String after sorting : eeeefggkkors
方法 #2:使用sorted() + reduce() + lambda
也可以使用上述 3 个功能的组合来执行此特定任务。在这里,我们使用由 reduce函数连接的 lambda函数连接生成的排序字符列表。仅适用于 Python2
# Python code to demonstrate
# Sorting a string
# using sorted() + reduce() + lambda
# initializing string
test_string = "geekforgeeks"
# printing original string
print("The original string : " + str(test_string))
# using sorted() + reduce() + lambda
# Sorting a string
res = reduce(lambda x, y: x + y, sorted(test_string))
# print result
print("String after sorting : " + str(res))
输出 :
The original string : geekforgeeks
String after sorting : eeeefggkkors