2017-03-01 60 views
-1

我試過四處搜索,也許我沒有獲得確切的方式來搜索Web或堆棧溢出以滿足此要求。請重新指導我或爲下面的人提供解決方案。從str(列表)獲取匹配的項目

我有一個列表說(我原來的列表中有超過10,000個城市):

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'. 

我做了一些周圍尋找,但沒找到一個解決方案

+0

好吧,我將需要A的值BAN匹配!列表中有超過10萬個城市。我知道我是匹配BAN,但是我不知道A是哪個匹配的。我想找到那個! – ANI

+0

[python:查找列表中的子字符串]可能的重複(http://stackoverflow.com/questions/13779526/python-finding-substring-within-a-list) –

+0

同意,這就是我在我的文章中。我嘗試了我的搜索方式,但找不到一個可能是因爲我在搜索過程中使用的措辭! – ANI

回答

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

這爲您提供了一個包含「禁止」每個城市的列表。你可以檢查列表是否爲空,然後打印它或取第一個元素,或者你想做的任何事情。

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] 
+0

在接受這個答案之前,我會試用這個解決方案。非常感謝你 :) – ANI