【发布时间】:2016-11-21 15:05:38
【问题描述】:
我有一个 JSON 文件,我正在尝试使用值(而不是键)进行搜索。 Python中是否有内置函数可以做到这一点?
[["2778074170846781111111110", "a33104eb1987bec2519fe051d1e7bd0b4c9e4875"],
["2778074170846781111111111", "f307fb3db3380bfd27901bc591eb025398b0db66"]]
我想到了这种方法。将文件加载到列表中并开始搜索。有没有更有效的方法?
def OptionLookUp(keyvalue):
with open('data.json', 'r') as table:
x= json.loads(table)
【问题讨论】:
-
这是普通的二维列表(不是字典),所以你没有键 - 只有值。你想找到什么?使用 for 循环检查每一行。
-
正如 furas 所说,它是二维列表 (python),或者当谈到 JSON 时,它是二维数组。这是键值 JSON:{ 'key': 'value' }。正如 furas 所问,您传递函数的“键值”示例是什么?
-
当然,但它仍然是有效的 JSON。你可以在这里查看jsonlint.com
-
请说明(带有输入/输出示例)您所说的“搜索”是什么意思?
-
input = a33104eb1987bec2519fe051d1e7bd0b4c9e4875 Output = 2778074170846781111111110 我已经这样做了 def OptionLookUp(key): with open('data.json', 'r') as table: x= json.load(table) for i in x: if (i[1] == key): print i