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

能否将长度为n的字符串的每个字符动态赋值给n个对应变量?

最优方案:使用列表存储(推荐)

不需要单独创建m_1到m_n的独立变量,直接用列表存储所有值,访问时通过索引取值即可,写法简单且易于维护:

binary_str = "10110"
m = [int(c) for c in binary_str]
# 第k个字符对应m[k-1],比如原需求的m_1对应m[0],m_2对应m[1]

如果需要更贴近m_k的调用习惯,也可以用字典存储:

binary_str = "10110"
m = {f"m_{idx}": int(val) for idx, val in enumerate(binary_str, start=1)}
# 调用时直接写m["m_1"]、m["m_2"]即可

特殊场景:动态创建独立变量

如果确实必须生成m_1到m_n的全局独立变量,可以通过修改globals()字典实现:

binary_str = "10110"
for idx, val in enumerate(map(int, binary_str), start=1):
    globals()[f"m_{idx}"] = val

# 后续可直接调用变量:print(m_1) 输出 1,print(m_2) 输出 0

注意:该方案会污染全局命名空间,后续遍历、校验变量的成本远高于列表/字典方案,非必要不推荐使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:06:02