从str(list)中选择匹配项目

时间:2017-03-01 12:57:59

标签: python python-2.7 list

我试过四处寻找,也许我没有得到准确的方法来搜索网页或堆栈溢出这个要求。请重新指导我或为下面的人提供解决方案。

我有一个列表说(我的原始列表有超过10k个城市):

A = ['BANGALORE', 'DUBAI', 'SHANGHAI' , 'SOUTH ASIA' , 'NORTH ASIA']

现在我的要求与此列表匹配,类似于ORACLE中的LIKE运算符。我的意思是,如果我们进入BAN,它必须与BANGALORE相匹配。我通过以下方式实现这一目标:

if 'BAN'in  str(A) :
   Do my stuffs  

现在,如果我需要从“BAN”匹配的列表中检索该元素。我们怎么做?

简单来说。

if 'BAN'in  str(A) :
   Display to me what is that A that matched 'BAN'. 

我做了一些搜索但找不到解决方案

1 个答案:

答案 0 :(得分:2)

[city for city in A if 'BAN' in city]

这会为您提供包含“BAN'”的每个城市的列表。您可以检查列表是否为空,然后打印它或采取第一个元素,或任何您想要做的事情。

matching = [city for city in A if 'BAN' in city]
if matching:
  print 'There are ', len(matching), ' cities that contain BAN.'
  print 'For example: ', matching[0]