1.先将是字母的字符和index取出放入2个列表
2.对字符列表进行按key进行排序
3.排完序的字符列表和index列表对应插入原来列表中,将列表转化为字符串输出
def sample_sorted(): str = list(input()) list1 = [] list2 = [] for i,v in enumerate(str): if v.isalpha(): list1.append(i) list2.append(v) list3 = sorted(list2,key=lambda x:x.lower()) index = 0 for i in list1: str[i] = list3[index] index += 1 return str if __name__ == '__main__': str = sample_sorted() print("".join(str))