Phr*_*xus 8 python tuples list
如果用户键入[[0,0,0], [0,0,1], [1,1,0]]并按Enter键,程序应将此字符串转换为多个列表; 一个列表持有[0][0][0],另一个列表[0][0][1],以及最后一个列表[1][1][0]
python有一个很好的方法来处理这个问题吗?
YOU*_*YOU 23
>>> import ast
>>> ast.literal_eval('[[0,0,0], [0,0,1], [1,1,0]]')
[[0, 0, 0], [0, 0, 1], [1, 1, 0]]
Run Code Online (Sandbox Code Playgroud)
对于元组
>>> ast.literal_eval('[(0,0,0), (0,0,1), (1,1,0)]')
[(0, 0, 0), (0, 0, 1), (1, 1, 0)]
Run Code Online (Sandbox Code Playgroud)
Mar*_*tos 22
>>> import json
>>> json.loads('[[0,0,0], [0,0,1], [1,1,0]]')
[[0, 0, 0], [0, 0, 1], [1, 1, 0]]
Run Code Online (Sandbox Code Playgroud)
这比 Satoru 的灵活一点,并且不使用任何库。尽管如此,它不适用于更深层嵌套的列表。为此,我认为您需要一个递归函数(或循环)或 eval。
str = "[[0,0,0],[0,0,1],[1,1,0]]"
strs = str.replace('[','').split('],')
lists = [map(int, s.replace(']','').split(',')) for s in strs]
Run Code Online (Sandbox Code Playgroud)
列表现在包含您想要的列表列表。