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

如何基于给定映射字典循环动态生成数字对应的Unicode上标字符

实现逻辑

多位数不需要单独做位数分支判断,统一将数字拆分为单个数位,逐位映射Unicode上标字符后拼接即可,逻辑兼容1位、2位、3位及更多位数的转换需求。

完整实现代码

首先是通用转换方法:

# 给定的上标映射字典
UNICODE_CHARS = {
    0: "\u2070",
    1: "\u00B9",
    2: "\u00B2",
    3: "\u00B3",
    4: "\u2074",
    5: "\u2075",
    6: "\u2076",
    7: "\u2077",
    8: "\u2078",
    9: "\u2079",
}

def num_to_superscript(num: int) -> str:
    # 转字符串拆分每一位,逐位映射后拼接
    return ''.join([UNICODE_CHARS[int(digit)] for digit in str(num)])

# 循环输出0~999对应的上标字符
for i in range(1000):
    print(num_to_superscript(i))

如果你不需要单独封装函数,也可以直接在循环内完成转换:

for i in range(1000):
    superscript_str = ''.join(UNICODE_CHARS[int(d)] for d in str(i))
    print(superscript_str)

逻辑说明

  1. 用str(num)将整数转为字符串,直接按字符拆分出每一位数字,例如数字177转为字符串后得到"177",遍历后得到"1"、"7"、"7"三个单个数字字符
  2. 每个字符用int(digit)转回整数,从UNICODE_CHARS字典中取出对应的上标Unicode字符
  3. 用str.join()方法将所有位的上标字符拼接为完整的上标字符串,自动适配任意位数的输入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:18:02