当一个字典在Python中成为列表时,如何将其插入另一个字典?

时间:2019-02-24 06:16:03

标签: python python-3.x

我在列表下有一个字典,我想在该列表中插入另一本字典。因此需要Python的帮助。

custom_fields = {
    "183": issue['Sprint#'],
    "7": issue['AffectedVersion'],
    "11": issue['Severity'],
    "13": issue['Tag'],
    "180": issue['Tester root cause'],
    "93": issue['Testcase ID'],
    "150": issue['Subsystem']
}
custom_field_payload = {'custom_value_fields':custom_fields.items()}
payload = {'issue' : dict(payload.items()+default_payload.items())}

在问题内,我想要custom_field_payload。请帮我解决。

预期输出:

{"issue": {
    "custom_field_values": {
        "183" : "Sprint-1",
        "7" : "12.5.0",
        "11" : "Low (P4)",
        "13" : "Functional",
        "180" : "Legacy Issue identified in Sprint",
        "93" : "CERT-20083926:FN_Update_Gemalto_HSMSettings_Available_Status_DefaultOptionEnabled_ChangeInvalidPassword",
        "150" : "CERTIFICATE"
    },
    "project_id" : 25,
    "category_id": 2380
}}

3 个答案:

答案 0 :(得分:0)

尝试以下操作,只需将列表添加到items内容中即可:

custom_field_payload = {'custom_value_fields':custom_fields.items()}
payload = {'issue' : dict(list(payload.items())+list(custom_field_payload.items()))}

答案 1 :(得分:0)

尝试一下:

issue = {'Sprint#': "Sprint-1",
         'AffectedVersion': "12.5.0",
         'Severity': "Low (P4)",
         'Tag': "Functional",
         'Tester root cause': "Legacy Issue identified in Sprint",
         'Testcase ID': "CERT-20083926:FN_Update_Gemalto_HSMSettings_Available_Status_DefaultOptionEnabled_ChangeInvalidPassword",
         'Subsystem': "CERTIFICATE"}

default_payload = {"project_id": 25, "category_id": 2380}
custom_fields = {
    "183": issue['Sprint#'],
    "7": issue['AffectedVersion'],
    "11": issue['Severity'],
    "13": issue['Tag'],
    "180": issue['Tester root cause'],
    "93": issue['Testcase ID'],
    "150": issue['Subsystem']
}
custom_field_payload = {'custom_field_values':custom_fields}
p = {'issue' : custom_field_payload}
payload = default_payload.copy()
payload.update(p)

print(payload)

答案 2 :(得分:0)

我猜您遇到的错误如下:sleep。让我们解释这个错误。

{while (!exit) { auto startofFrame= now(); render(); auto toDelay= startOfFrame + TIME_PER_FRAME - now(); while (toDelay > 0) { delay(toDelay); toDelay= startOfFrame + TIME_PER_FRAME - now(); } updateLogic(); } ->首先,我们可以看到这是一个TypeError: unsupported operand type(s) for +: 'dict_items' and 'dict_items',这意味着我们使用的类型出错。

TypeError->这是告诉我们,我们试图添加两个操作数,但是不支持它们的类型(无效)。

TypeError->最后,这告诉我们我们尝试添加两个unsupported operand type(s) for +:,这是'dict_items' and 'dict_items'类内的方法dict_items({{1 }}。

现在我们知道发生了错误,因为我们尝试添加不支持的两个items,因此我们无法继续添加这两个。

我想您想做的是在dict字典中插入dict.items。为此,您可以将dict.items词典替换为:

default_payload

payload方法将字典插入另一个字典。

相关问题