字符串到元素的列表

时间:2018-01-09 00:05:42

标签: python string list

我有一个像这样的字符串列表:

L=['[1,2,3]','[3,4,5,6]','[9,8,7]']

我想列出这样的列表元素:

Y=[[1,2,3],[3,4,5,6],[9,8,7]]

我怎么能在python中做到这一点?

3 个答案:

答案 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]]