我有一个像这样的字符串列表:
L=['[1,2,3]','[3,4,5,6]','[9,8,7]']
我想列出这样的列表元素:
Y=[[1,2,3],[3,4,5,6],[9,8,7]]
我怎么能在python中做到这一点?
答案 0 :(得分:2)
您可以使用ast.literal_eval
将每个字符串计算为列表解析中的python文字
>>> from ast import literal_eval
>>> [literal_eval(i) for i in L]
[[1, 2, 3], [3, 4, 5, 6], [9, 8, 7]]
答案 1 :(得分:2)
数组的每个元素都是有效的JSON,因此您可以执行
import json
Y = [json.loads(l) for l in L]
答案 2 :(得分:1)
您也可以手动执行此操作:
>>> L=['[1,2,3]','[3,4,5,6]','[9,8,7]']
>>> [[int(x) for x in l[1:-1].split(',')] for l in L]
[[1, 2, 3], [3, 4, 5, 6], [9, 8, 7]]
或者没有split()
,正如@Moinuddin Quadri在评论中所建议的那样:
>>> [[int(x) for x in l[1:-1:2]] for l in L]
[[1, 2, 3], [3, 4, 5, 6], [9, 8, 7]]