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

如何从分割后的字符串动态创建可独立使用的变量?

解决动态创建变量存储拆分单词的问题

看起来你想把输入文本里的每个单词拆出来,用variable1、variable2这样的动态命名变量来存储,对吧?咱们先梳理下原代码的问题,再给出更贴合需求的实现方案。

原代码的核心问题

原来的正则拆分逻辑会把空白符也纳入拆分结果,比如输入Jurassic Park 3,拆分后会得到包含空格的列表,后续的过滤只能去掉空字符串,没法处理空格元素,这显然不是你想要的“独立单词”结果。

改进后的实现方案

我们可以用re.findall直接提取所有符合要求的单词(包括数字),然后动态生成variableN格式的键存入返回字典,同时处理大小写转换(和你的示例一致,将单词转为小写):

import re

def process_text(d):
    input_text = str(d["input_text"])
    # 提取所有由字母/数字组成的连续单词,自动跳过空格、标点等分隔符
    words = re.findall(r'[A-Za-z0-9]+', input_text)
    ret_dict = {}
    
    # 遍历单词,生成variable1、variable2...格式的键值对
    for idx, word in enumerate(words, start=1):
        ret_dict[f'variable{idx}'] = word.lower()
    
    ret_dict["returncode"] = 0  # 0表示处理成功,1可用于标记失败状态
    return ret_dict

代码细节说明

  • re.findall(r'[A-Za-z0-9]+', input_text):这个正则会精准提取所有由字母或数字组成的连续字符,自动忽略空格、标点等非目标内容,直接得到干净的单词列表。
  • enumerate(words, start=1):从1开始计数,确保第一个单词对应variable1,完全匹配你的示例格式。
  • word.lower():将单词转为小写,如果你不需要强制小写,直接去掉这个方法即可。
  • 返回的字典会包含所有variableN键和状态码returncode,调用方可以通过ret_dict['variable1']这样的方式直接访问对应的值,不管输入文本有多少单词,都能自动适配。

测试效果示例

如果输入是d={"input_text": "Jurassic Park 3"},调用函数后返回的字典为:

{
    'variable1': 'jurassic',
    'variable2': 'park',
    'variable3': '3',
    'returncode': 0
}

内容的提问来源于stack exchange,提问作者Beginners in python

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:06:11