如果我假设你已经映射在字典中是有原因的,我会告诉你,是的,它是可以利用的方式的映射是这样的:
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