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

Python如何将列表内字符串的字符按字典映射替换为对应整数

原代码错误原因

  • 变量名使用了Python内置关键字list,覆盖了列表类型的内置定义,会引发后续逻辑异常
  • 列表对象没有replace()方法,该方法仅适用于字符串类型,直接对列表调用会直接报错
  • 字符映射替换的逻辑错误:需要遍历列表中的每个字符串元素,再对字符串的单个字符做映射转换,不能直接对整个列表做替换操作

正确实现代码

你需要的是把字符串中每个字符(包括大写A)按映射转为对应整数,以下是适配需求的实现:

# 定义字符映射字典,避免用dict作为变量名
char_map = {'a': 101, 'h': 111}
# 定义输入列表,避免用list作为变量名
input_list = ['haha', 'haaa']

result = []
for content in input_list:
    # 遍历每个字符,统一转小写后匹配映射,适配大写字符的识别需求
    converted_chars = [char_map[char.lower()] for char in content]
    result.append(converted_chars)

print(result)

运行后输出结果为:
[[111, 101, 111, 101], [111, 101, 101, 101]]

如果你需要把每个字符串对应的所有整数拼接为一个完整的整数,可以额外加一步处理:

# 拼接为完整整数
final_int_result = []
for item in result:
    int_str = ''.join(map(str, item))
    final_int_result.append(int(int_str))

print(final_int_result)

运行输出为:
[111101111101, 111101101101]

注意事项

  • 后续编码请避免使用Python内置关键字(list、dict、str等)作为自定义变量名
  • 如果存在未收录在映射字典中的字符,可以用get()方法设置默认值避免报错,比如char_map.get(char.lower(), 0),未匹配到的字符默认返回0,你可以根据需求调整默认值

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

相关产品推荐
方舟 Agent Plan

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

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