题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
string = input() hashtable = {} i = [] s = [] res = [] #取得字符串中字母的索引和字母 for idx, ss in enumerate(string): if ss.isupper() or ss.islower(): hashtable[idx] = ss #取出哈希表中的键值 for key, value in hashtable.items(): i.append(key) s.append(value) #对s列表排序 s.sort(key=lambda x:ord(x)+32 if x.isupper() else ord(x)) #将输入字符串改为列表形式 for j in string: res.append(j) #更换结果列表的目标顺序 for j in range(len(i)): res[i[j]] = s[j] #输出结果 print(''.join(res))