如何将字母序列转换为指定映射关系的数值列表?
字母序列转对应数值列表的实现方法
核心思路
用字典存储字母与数值的映射关系,遍历字符串中的每个字符,将其替换为对应数值,最终组成列表。
步骤实现
- 定义映射字典
首先把给定的字母-数值对应关系存入字典,方便快速查找:
char_map = { 'A': 0.89, 'C': 1.21, 'D': 1.33, 'E': 1.47 }
- 处理单个字符串
对单个字母序列,用列表推导式遍历每个字符并替换:
# 转换为数值类型列表 s1 = 'ACDE' result1 = [char_map[c] for c in s1] # 输出: [0.89, 1.21, 1.33, 1.47] # 转换为字符串类型数值列表(匹配示例第二个结果) s2 = 'ADEC' result2 = [str(char_map[c]) for c in s2] # 输出: ['0.89', '1.33', '1.47', '1.21']
- 处理DataFrame列数据
如果是表格列(如示例中的col1),用Pandas的apply方法批量处理:
import pandas as pd # 构造示例表格数据 df = pd.DataFrame({'col1': ['ACDE', 'ADEC']}) # 批量转换为数值列表 df['col1'] = df['col1'].apply(lambda x: [char_map[c] for c in x]) # 若需要字符串类型数值列表,改用: # df['col1'] = df['col1'].apply(lambda x: [str(char_map[c]) for c in x])
执行后,df的col1列就会变成目标格式。
内容的提问来源于stack exchange,提问作者Isaoud
相关产品推荐
相关产品推荐

