Python用input输入列表的方法

使用input输入数据时,使用逗号隔开列表的每一项,再使用ast.literal_eval()方法转成列表即可。

代码如下:

import ast

lists = ast.literal_eval(input("请输入列表,使用逗号隔开: ")) 

print(lists)

执行结果如下:

ast.literal_eval()的作用是把数据还原成它本身或者是能够转化成的数据类型。

eval()函数也具有相同的效果,但它们是有区别的:

eval在做计算前并不知道需要转化的内容是不是合法的(安全的)python数据类型。只是在调用函数的时候去计算。如果被计算的内容不是合法的python类型就会抛出异常。

ast.literal则会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。

因此,推荐使用ast.literal_eval