如何从 JSON/dictionary 打印 same/duplicate 键的所有值?
How to print all values of same/duplicate keys from JSON/dictionary?
从下面的字典中,我怎样才能只打印 'test1' 个值,假设会有多个 'test1' 个键,我怎样才能打印它的所有值?
data = {"test1" : "PASS", "test2" : "FAILED", "test3" : "PASS", "test1" : "FAILED"}
这样它在索引 0 处为 test1 输出 PASS,在索引 3 处为 test1 输出 FAIL,因为字典只计算最后的最大值,在本例中为 FAILED。
所需输出:
PASS
FAILED
有解决办法吗?
字典只能包含唯一键。因此,在您的情况下 data
不能是字典。您可以将 data
改为列表或 defaultdict。
比如说,data = [("test1","PASS"), ("test2","FAILED"),("test3","PASS"), ("test1", "FAILED")]
然后这样做:
from collections import defaultdict
test_result = defaultdict(list)
for test, result in data:
test_result[test].append(result)
print(test_result["test1"]) # gives ['PASS','FAILED']
会给你想要的结果 - 测试的所有结果
从下面的字典中,我怎样才能只打印 'test1' 个值,假设会有多个 'test1' 个键,我怎样才能打印它的所有值?
data = {"test1" : "PASS", "test2" : "FAILED", "test3" : "PASS", "test1" : "FAILED"}
这样它在索引 0 处为 test1 输出 PASS,在索引 3 处为 test1 输出 FAIL,因为字典只计算最后的最大值,在本例中为 FAILED。
所需输出:
PASS
FAILED
有解决办法吗?
字典只能包含唯一键。因此,在您的情况下 data
不能是字典。您可以将 data
改为列表或 defaultdict。
比如说,data = [("test1","PASS"), ("test2","FAILED"),("test3","PASS"), ("test1", "FAILED")]
然后这样做:
from collections import defaultdict
test_result = defaultdict(list)
for test, result in data:
test_result[test].append(result)
print(test_result["test1"]) # gives ['PASS','FAILED']
会给你想要的结果 - 测试的所有结果