gpt4 book ai didi

python - 将元组的字符串数组转换为输入和输出

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:09 24 4
gpt4 key购买 nike

有一个这种格式的字符串数组:

stringList = ['(0.0,[0.0,0.0,0.0])\n' , '(1.0,[1.0,0.0,0.0])\n']

如何转换为:

inputs = [0.0 , 1.0]
outputs = [ [0.0,0.0,0.0] , [1.0,0.0,0.0] ]

我最接近的是:

inputs = []
outputs = []

for l in stringList :
inputs.append(np.array(float(l.split(',')[0].replace('(' , ''))))

for l in stringList :
outputs.append(float(l.split(',')[1].replace('[' , '')))

print(inputs)
print(outputs)

打印:

[array(0.0), array(1.0)]
[0.0, 1.0]

如何转换为:

inputs = [0.0 , 1.0]
outputs = [ [0.0,0.0,0.0] , [1.0,0.0,0.0] ]

?

最佳答案

您的字符串是元组格式。您可以使用 ast.literal_eval 将其计算为一个元组,然后将结果附加到相应的输出中:

stringList = ['(0.0,[0.0,0.0,0.0])\n' , '(1.0,[1.0,0.0,0.0])\n']
inputs = []
outputs = []

from ast import literal_eval
for s in stringList:
t = literal_eval(s)
inputs.append(t[0])
outputs.append(t[1])

inputs
# [0.0, 1.0]

outputs
# [[0.0, 0.0, 0.0], [1.0, 0.0, 0.0]]

或者更短的版本,你可以在literal_eval之后使用zip:

inputs, outputs = zip(*map(literal_eval, stringList))

关于python - 将元组的字符串数组转换为输入和输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43260567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com