如果我有大量的字符串,那么查找它们并获取值的最快方法是字典吗?当我的意思是巨大的,我的意思是潜在的2000个字符串,每个长度为500(JSON)。
dict1 = {"JSON1": "JSON1", "JSON2": "JSON2", "JSON3": "JSON3", ... }
所以,让我们说我想看看JSON2
是否在dict1
。 dict1["JSON2"]
是JSON2
中dict1
存在{{1}}的最快方式吗?请记住,我正在处理大量代表JSON的数据和冗长的字符串。
答案 0 :(得分:3)
使用词典。除非你的RAM耗尽,否则它可能是你正在寻找的解决方案。
答案 1 :(得分:2)
如果你只想测试会员资格,那么也许你想要一套呢?
data = set(["JSON1", "JSON1", "JSON2"])
给你一套
{"JSON1", "JSON2"}
然后
"JSON2" in data
True
答案 2 :(得分:2)
在您的示例中,键和值都是相同的字符串。
如果您只是想检查状态,则无需浪费对密钥的引用。在这种情况下,您可以使用一组。
否则,RAM中的dict是你用Python获得的最好的。如果你有比RAM大的东西(听起来不像它),那就是ZODB或者是一个完整的数据库。