在我的程序中,当我调试我的代码时,我所生成的代码似乎在某个地方。
X1=['[a,a,a]','[b,b,b]'] 而在其他地方我产生了
X2=[[a,a,a],[b,b,b]] 当我想要添加这两个列表,然后使用numpy.array(X1+X2)时,我会得到错误。问题是,我不知道我的代码有什么问题,因为我甚至不知道这两者之间有什么区别(即带引号和不带引号)。如果我找到这个问题的答案,我也能找到我的问题。
发布于 2016-07-01 03:39:55
我只是想借用一下@JoshuaWierenga的回答:
>>> a, b = 1, 2
>>> X1=['[a,a,a]','[b,b,b]']
>>> X2=[[a,a,a],[b,b,b]]
>>> [eval(i) for i in X1] == X2
True
>>> [str(i) for i in X2] == X1
False
>>> [str(i) for i in X2]
['[1, 1, 1]', '[2, 2, 2]']
>>> a, b = 'a', 'b'
>>> X2=[[a,a,a],[b,b,b]]
>>> [str(i) for i in X2]
["['a', 'a', 'a']", "['b', 'b', 'b']"]您可以看到,X1可以转换为X2,但向相反的方向发展则要困难一些。
发布于 2016-07-01 03:27:29
X1是一个包含两个字符串的列表。
X2是一个包含两个列表的列表,每个列表包含三个变量。
关于将字符串转换为列表,您必须创建一个空列表,然后从字符串中移除方括号,然后查找",“并将前面找到的内容添加到列表中。
https://stackoverflow.com/questions/38136504
复制相似问题