分类:字符串
知识点:
-
字符串是否仅由字母构成 my_str.isalpha()
-
字母列表按小写排序 letters.sort(key=lambda x: x.lower())
题目来自【牛客】
def custom_sort(input_str):letters = []non_letters = []for char in input_str:if char.isalpha():letters.append(char)else:non_letters.append(char)# lambda x: x.lower() 是一个匿名函数,它接受参数 x(这里代表列表中的每个字母)并返回一个小写形式的 x。# 因此,通过传递 key=lambda x: x.lower(),可以确保在排序时不区分字母大小写。letters.sort(key=lambda x: x.lower())# 新的字符串result = ''for char in input_str:# 如果是字符则从已排序列表中取出第一个if char.isalpha():result += letters.pop(0)else:result += non_letters.pop(0)return result# input_str = "Type"
# print(custom_sort(input_str)) # 输出:'epTy'# input_str = "BabA"
# print(custom_sort(input_str)) # 输出:'aABb'# input_str = "By?e"
# print(custom_sort(input_str)) # 输出:'Be?y'input_str = input().strip()
print(custom_sort(input_str))