将嵌套列表的用户输入转换为嵌套列表



所以我正在编写一个程序来将嵌套列表打印成一个平面列表,我现在只是想获取输入部分。我遇到了麻烦,因为输入显示的数组会给我一个字符串,并且使用 list() 也将包括括号/逗号在内的所有元素放入列表中。

arr = input("Enter your nested array here: " )
#arr = ast.literal_eval(list(arr)) just something I tried here
#arr = [[[1,2,3], [4,5]], 6]
flatArr = flattenArrays(arr)
print (flatArr)

有没有好方法可以将此命令行输入或文件输入转换为列表列表?

摆脱list调用,它将字符串转换为字符列表 - 这是您不想要的。

In [14]: x = ast.literal_eval(input('List: '))
List: [[1, 2, 3], [4, 5], 6]
In [15]: x
Out[15]: [[1, 2, 3], [4, 5], 6]
In [16]: type(x)
Out[16]: list

对于这种情况,您可以使用json方法loads

import json
a = '[[1, 2, 3], [4, 5], 6]'
a = json.loads(a)
a
#[[1, 2, 3], [4, 5], 6]

相关内容

  • 没有找到相关文章

最新更新