所以我正在编写一个程序来将嵌套列表打印到一个平面列表中,而我现在只是尝试获取输入部分。我遇到了麻烦,因为输入显示的数组会给我一个字符串,并使用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)
有没有一种方法可以将此命令行输入或文件输入转换为列表列表?
答案 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]