赞
踩
分类:字符串
知识点:
字符串是否仅由字母构成 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))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。