分类:字符串
知识点:
-
字符串是否仅由字母构成 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))
还没有评论,来说两句吧...