我有一个格式化为文件列表列表的字符串。如何将其作为列表放入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列表?我已经研究过使用多个定界符进行分割,但是如果这是正确的方法,那么我将无法正确设置它。
答案 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