如何转换字符串形式的';[]和#x27;使用python创建数组

如何转换字符串形式的';[]和#x27;使用python创建数组,python,anaconda,Python,Anaconda,在我的数据框中,其中一列的字符串值是数组外观。我获取它们并存储在数组中。然后数组外观如下 S=['[18831]', '[12329]', '[4526, 5101, 11276]', '[14388, 14389]'] 我希望是这样 S= [18831,12329,[4526, 5101, 11276],[14388, 14389]] 作为2d数组访问此ID。如何使用python执行此操作这些列表是JSON格式的,因此您可以使用内置的JSON解析器 import json string

在我的数据框中,其中一列的字符串值是数组外观。我获取它们并存储在数组中。然后数组外观如下

S=['[18831]', '[12329]', '[4526, 5101, 11276]', '[14388, 14389]'] 
我希望是这样

S= [18831,12329,[4526, 5101, 11276],[14388, 14389]] 

作为2d数组访问此ID。如何使用python执行此操作这些列表是JSON格式的,因此您可以使用内置的JSON解析器

import json
stringArray = "[1,2,3]"
integerArray = json.loads(stringArray) # [1,2,3]
查看尝试以下操作:

[eval(a)[0] if len(eval(a)) == 1 else eval(a) for a in S]

为什么前两个不再是列表,而剩下的是列表?这个转换背后的逻辑是什么?这些都是ID。在我的研究中,训练模型只能是这样。但是,进一步使用测试数据,S[0]=[1883119982]可以是这样的。非常感谢你,Val不应该是答案。根据您提供的答案不使用json模块的备选方案,那么您应该建议使用
literal\u eval
。您能否提供如何使用此literal\u eval的示例?因为我很早就用过,但我出了个错误