题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import re
def charsort(li):
lt = [(k,v) for k,v in enumerate(li)]
lt.sort(key=lambda x:ord(x[1].lower())*1000 + x[0],reverse=True)
return lt
while True:
try:
s = input()
s1 = re.sub(r'[^\w]','',s)
s2 = re.sub(r'[\d]','',s1)
lt = charsort(s2)
res = ''
for c in s:
if not c.isalpha():
res += c
else:
res += lt.pop()[1]
print(res)
except:
break