【发布时间】:2012-11-05 03:51:42
【问题描述】:
我的python知识有一点小问题(新手)。 我正在尝试做的事情是将字符串列表输入到变量中,然后我需要做一些循环遍历列表并从列表中返回几个字符串。
问题是我不知道如何将列表输入到变量中。
这是我尝试过的代码:
x=[]
x=(input('Please enter a list of strings: '))
...然后我输入['car', 'house', 't-shirt', 'bicycle', 'images'] 假设x 将是一个带有字符串列表的变量,但它不是。
请帮忙。 谢谢!
【问题讨论】:
-
但它是什么?尝试
print repr(x)以查看输入后x中的内容。哦,你不必在 python 中声明列表。x=[]将被input('Please enter a list of strings: ')覆盖 -
我猜所有列表都保存为一个字符串。当我在 x: print(i) 中执行 for i 时,它按字符串返回整个导入的列表字符串
-
所以,如果用户输入python格式的列表很重要,你可以使用
x = eval(x),但这很危险,因为可以输入恶意数据。我建议您通过空格或换行符让用户输入单词,例如car house t-shirt,然后在输入后使用x = x.split() -
感谢 Ashwini,我会用空格和 .split() 尝试这个想法
-
@alex_jordan 对于这个应用程序,使用
ast.literal_eval()比使用eval()更安全
标签: python list import python-3.x