python - 搜索 Python 列表

标签 python file list search

好的,我有这个代码:

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/

相关文章:

python - 从字符串中提取值

python - 假或无与无或假

我可以同时写入两个不同的 FILE 指针吗?

java - 文件不追加 android

bash - 从文件中读取索引 `n` 低于匹配给定正则表达式的行的所有行

python - Pyqt5 根据自定义小部件中的事件刷新/更新 QListWidget?

python - 使用来自 slim 的预训练模型训练 ssd inception_v3

list - 流(无限列表)monad 模拟了哪些效果?

Python列表的迭代和删除

Python - 在列表中查找最短的单词