如何将此字符串转换为列表列表?

2022-01-19 00:00:00 python list tuples

问题描述

如果用户输入 [[0,0,0], [0,0,1], [1,1,0]] 并回车,程序应该将此字符串转换为多个列表;一个列表保存 [0][0][0],另一个保存 [0][0][1],最后一个列表保存 [1][1][0]

If a user types in [[0,0,0], [0,0,1], [1,1,0]] and press enter, the program should convert this string to several lists; one list holding [0][0][0], other for [0][0][1], and the last list for [1][1][0]

python有没有好的方法来处理这个问题?

Does python have a good way to handle this?


解决方案

这比 Satoru 的灵活一点,并且不使用任何库.不过,它不适用于更深的嵌套列表.为此,我认为您需要一个递归函数(或循环)或 eval.

This is a little more flexible than Satoru's, and doesn't use any libraries. Still, it won't work with more deeply nested lists. For that, I think you would need a recursive function (or loop), or 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]

lists 现在包含您想要的列表列表.

lists now contains the list of lists you want.

相关文章