题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
s = input()
import re
li = list(s)
index_list = [] # 用来储存所有其他字符的索引
new_list = [] # 用来储存所有字母类字符
final_s = '' # 用来储存最终字符串
for i in range(len(li)):
if not re.match("[A-Za-z]", li[i]): #将所有其他字符在原字符串中的索引,储存到列表
index_list.append(i)
else: #将所有字母类字符,储存到另一个列表
new_list += li[i]
new_list = sorted(new_list, key=lambda x:x.lower()) #对字母排序
for i in range(len(li)): # 遍历索引
if i not in index_list: # 如果该索引位置不是其他字符,则把排序后的第一个字母放进字符串中
final_s += new_list.pop(0)
else:
final_s += li[i] #如果该索引位置是其他字符,则根据索引将对应字符放进字符串
print(final_s)
OPPO公司福利 1108人发布