过滤以特定关键字开头的字符串列表 - Python

时间:2017-06-04 18:57:40

标签: python

如何在Python 2.7中的List(PartialWord)中找到字符串(WordList)?

PartialWord = "ab"
WordList = ['absail', 'rehab', 'dolphin']

使用通配符搜索:ab *

如果它只是以这些字母开头,那么它只能找到这个词(即结果应该只给出绝对,但不是康复,尽管两者都有'ab')。

WordList是一个字典,超过700KB。

请保持答案相当简单,因为我正在学习编码的第4天。

4 个答案:

答案 0 :(得分:3)

您可以使用str.startswith(..)以及列表理解来获取以某些字符串开头的单词列表:

>>> PartialWord = "ab"
>>> WordList = ['absail', 'rehab', 'dolphin']

>>> [word for word in WordList if word.startswith(PartialWord)]
['absail']

根据str.startswith document

  

str.startswith(前缀[,开始[,结束]]):

     

如果字符串开始,则返回True   使用前缀,否则返回False前缀也可以是tuple   要查找的前缀。使用可选的 start ,测试字符串从   那个位置。使用可选的 end ,停止比较字符串   位置。

答案 1 :(得分:1)

for word in WordList:
    if word.startswith(PartialWord):
        print word    

答案 2 :(得分:0)

正如大家之前提到的,str.startswith是你的功能。您可以研究正则表达式模式以进行更复杂的操作。 regex

答案 3 :(得分:0)

你可以这样做:

>>> WL = ['absail', 'rehab', 'dolphin']
>>> PW="ab"
>>> L=[a for a in WL if a[:len(PW)]==PW]
>>> L
['absail']