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

如何在Python中创建One-Hot通配符字符串?解决赋值报错问题

Python实现One-Hot通配符字符串的解决方法

你遇到的错误是因为Python中的字符串是不可变对象,无法像C语言那样直接通过索引修改单个字符,所以wildcard[i][j]="1"这种直接赋值的写法会报错。下面提供两种可行的解决方法:

方法1:字符串拼接(简洁高效)

利用字符串乘法和拼接直接生成目标字符串:

wildcard = []
length = 4
for i in range(length):
    # 前i位是x,中间第i位是1,剩余位是x
    target_str = 'x' * i + '1' + 'x' * (length - i - 1)
    wildcard.append(target_str)

print(wildcard)  # 输出: ['xxx1', 'xx1x', 'x1xx', '1xxx']

方法2:借助可变列表(贴近原思路)

先用可变的列表构造字符序列,再转换为字符串:

wildcard = []
length = 4
for i in range(length):
    # 初始化全x的列表
    char_list = ['x'] * length
    # 修改对应位置为1
    char_list[i] = '1'
    # 列表转字符串后加入结果
    wildcard.append(''.join(char_list))

print(wildcard)  # 输出: ['xxx1', 'xx1x', 'x1xx', '1xxx']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:06:04