如果我假設你已經映射在字典中是有原因的,我會告訴你,是的,它是可以利用的方式的映射是這樣的:
class bodyTests():
def __init__(self):
self.nameMap = {"John": "Johnathon", "Johnathon": "Johnathon", "Bill": "William", "Wil": "William"}
self.greetMap = {"Hi": "Hello", "aloha": "Hello", "Hello": "Hello", "Salutations": "Greetings"}
def find(self, lookfor, searchin):
return set(lookfor.get(x) for x in lookfor.viewkeys() & searchin.split())
def findGuys(self, abody):
return self.find(self.nameMap, abody)
def findGreets(self, abody):
return self.find(self.greetMap, abody)
body = "Hi my name is John\nPlease call me John\nI wish I was named Bill"
foundnames = bodyTests().findGuys(body)
foundgreets = bodyTests().findGreets(body)
print "python set of names: ", foundnames
print "python set of greets: ", foundgreets
print "let's dump them all out: "
for s in foundnames:
print s
for s in foundgreets:
print s
exit()
蟒蛇套名稱:集([ '威廉', '喬納森'])
蟒蛇集映入眼簾的:一套([ '你好'])
讓我們甩掉他們全力以赴:
威廉
喬納森
你好
你到目前爲止嘗試過什麼?你知道如何搜索字符串中的單詞嗎?你知道如何從字典中獲得鍵或值的列表嗎? –
爲什麼'names'是一個字典,其值與鍵相同? –
卡爾森的迴應奏效。我的鍵與值相同,因爲我需要O(1)查找時間的字典。列表是否在Python中提供了這個? – Matt