题解 | 字符串排序
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
s = input()
list1 = [] # 所有字母以及初始输入位置的列表
list2 = list(s) # 将初始字符串转化为列表
index = 0
for i in s: # 获得所有字母以及初始输入位置的列表
if i.isalpha():
list1.append((i, index))
index += 1
# 用sort()排序;lambda x是匿名函数,规则为元组比较规则;lower()是大写字母变小写
list1.sort(key = lambda x : (x[0].lower(), x[1]))
index = 0
for i in range(len(s)): # 将初始字符串字母替换为排序后的
if list2[i].isalpha():
list2[i] = list1[index][0]
index += 1
print(''.join(list2))