如何在Python中将元组插入现有字典中

时间:2016-03-26 09:06:41

标签: python python-3.x

我不认为这是一个重复的问题,因为我需要添加到现有字典中,而不是创建一个新字典。

results = dict()

if xxx:
    (rslt_string, rslt_msg) = func1
    (rslt_string, rslt_msg) = func2
    (rslt_string, rslt_msg) = func5
if yyy:
    (rslt_string, rslt_msg) = func3
    (rslt_string, rslt_msg) = func5
if zzz:
    (rslt_string, rslt_msg) = func2
    (rslt_string, rslt_msg) = func5

# How do I add each tuple to the results dict with rslt_string being the key and rslt_msg being the value so that I can do this below?
# Overwriting is ok (good even) if identical key

for (name, msg) in results:
    if msg is not "":
        test_failed(name)

是否有更好的Python模式来聚合调用状态为动态的某些测试函数的结果?在我的情况下,我有一些测试来运行解析器的结果。根据表达式的类型,应该运行一些测试(方法)而不是其他测试。我不知道在运行之前需要哪些,但我想记录哪些(如果有的话)失败。

1 个答案:

答案 0 :(得分:1)

那会起作用:

results = dict()

if xxx:
    results.update((func1(), func2(), func5()))
if yyy:
    results.update((func3(), func5()))
if zzz:
    results.update((func2(), func5()))

您可以更新results dict,其中元组的第一个值是键,第二个值是值。