如何将文件中的字符串格式化为列表格式并转换为Python中的列表?

时间:2019-03-01 22:37:08

标签: python

我有一个格式化为文件列表列表的字符串。如何将其作为列表放入Python变量中?

例如data-string.txt

with open('data-string.txt') as f:
    str = f.read()

str = "[[1, 2, 3], [2, 3, 4], [3, 4, 5]]"

是等效的。 如何将其纳入真实的Python列表?我已经研究过使用多个定界符进行分割,但是如果这是正确的方法,那么我将无法正确设置它。

3 个答案:

答案 0 :(得分:2)

您可以使用ast.literal_eval()进行出价:

import ast
s = ast.literal_eval("[1,2,3]")
s == [1,2,3]

答案 1 :(得分:1)

在某些情况下,您可以使用json,但是@Bharel的答案绝对更好

import json

with open('data-string.txt') as f:
    lst = json.load(f)
    print(lst)  # [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

答案 2 :(得分:-1)

如何?

// convert original string to type list
str1 = list("[[1, 2, 3], [2, 3, 4], [3, 4, 5]]")

// create a new string using the following, which converts same to a 3 x 3 list
str2 = ''.join(str(e) for e in str1)

// prints out as [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

// https://stackoverflow.com/questions/5618878/how-to-convert-list-to-string