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

时间:2017-10-26 08:17:44

标签: python string list user-input

所以我正在编写一个程序来将嵌套列表打印到一个平面列表中,而我现在只是尝试获取输入部分。我遇到了麻烦,因为输入显示的数组会给我一个字符串,并使用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)

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

2 个答案:

答案 0 :(得分:0)

摆脱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

答案 1 :(得分:0)

在这种情况下,您可以使用json方法loads

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