请原谅标题中的含糊不清 - 我不太确定如何解释我的问题。高效的Python数据存储(抽象数据类型?)
给定一个字符串:
blah = "There are three cats in the hat"
和(我不知道如何使用这个数据结构) “用户信息”:
cats -> ("tim", "1 infinite loop")
three -> ("sally", "123 fake st")
three -> ("tim", "1 infinite loop")
three cats -> ("john", "123 fake st")
four cats -> ("albert", "345 real road")
dogs -> ("tim", "1 infinite loop")
cats hat -> ("janet", NULL)
正确的输出应该是:
tim (since 'cats' exists)
sally (since 'three' exists)
tim (since 'three' exists)
john (since both 'three' and 'cats' exist)
janet (since both 'cats' and 'hat' exist somewhere in the string blah)
我想要一个有效的方式来存储这些数据。有可能匹配多个'三'字符串(即,150人将拥有该字符串)。我是否应该有一个包含所有这些数据的列表并复制“密钥”?
我很困惑,你实际上试图在这里做。你能给一个简洁的英文解释你的算法和数据结构需要做什么吗? – 2009-09-08 20:47:24
我相信字符串会自动实现在Python中,所以不要担心重复键。不是你应该反正。 150 *几个字节= diddly蹲。 – recursive 2009-09-08 21:00:55
看起来你正在尝试做某种匹配规则,对吧? 所以,基本上,你有一个输入字符串“blah”。而且你有一系列匹配规则,对于每个匹配规则,如果左侧的每个单词都包含在字符串中,则右侧的名称(和地址)是输出的一部分。是对的吗? – jprete 2009-09-08 21:10:33