好的,我有这个代码:
colors = ["Red" , "Green" , "Blue" , "Pink" , "Purple" , "Cyan"]
search = str(raw_input())
found = "not"
if search in colors:
print "Found!"
else:
print "not Found"
到目前为止,只有当您在终端中输入与列表中的字符串完全相同的字符串时,它才能在列表中找到一个项目,这就是问题所在。
我需要能够在终端中输入一个或两个字符并让它在列表中列出与搜索匹配的字符串(例如:如果我在终端中输入“P”,它会列出“粉红色”和“紫色”,因为到目前为止它们与我的搜索匹配,但不完全匹配)
我可能忽略了一些东西,但是,有没有一种方法可以用这种方式搜索列表而不必有超过 200 行代码(200 多行,因为我需要实现它以在列表中有超过 150 个字符串)只是为了搜索字符串?
最佳答案
最简单的方法,使用列表理解:
matches = [color for color in colors if color.startswith(search)]
如果你有一个大列表,这可能不会表现得很好。
关于python - 搜索 Python 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15468306/