You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于字符ASCII值对字符串排序 能否仅通过字符串操作函数实现

实现方案

完全可以实现,而且代码比你当前的循环写法更简洁:

text = "Hello, World!"
sorted_text = ''.join(sorted(text))
print(sorted_text)

运行后输出结果为!,HWdellloor,和你要求的效果完全一致。

原理解释

  • 字符串本身是可迭代对象,内置函数sorted()会直接遍历字符串的每个字符,默认按照字符的Unicode码点排序,ASCII字符的码点和ASCII值完全一致,所以排序逻辑和你手动转ord()排序的逻辑没有任何区别。
  • 字符串的join()方法可以直接把sorted()返回的排序后字符列表拼接为完整字符串,不需要你手动做ord()、chr()的转换操作。

如果你需要保留原代码里字符之间加空格的输出效果,只要把''.join改成' '.join即可:

text = "Hello, World!"
sorted_text_with_space = ' '.join(sorted(text))
print(sorted_text_with_space)

内容的提问来源于stack exchange,提问作者Luca Marinescu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:36:07