在Python中创建字典时,使用“if”语句和“for”循环是否合法?

2024-09-28 05:20:27 发布

您现在位置:Python中文网/ 问答频道 /正文

report['conditions'] += [
   {
    "name": cond,
    "biRad": br,
    "findings": 
     [
        {
         "name": f,
         **if f == 'mass':** 
           "parameters": 
           [
            {
             "name": iter_params_mass[0],
             "value": create_rep(iter_params_mass, row, f, r)[0]
            },{...}
           ]
        }
    ]
  }]

我对BSON文件有非常严格的结构,但是我不想手动创建所有内容,而是希望使用if语句和for loop(如果可能),因为我可以在参数中有多个名称值对。 有什么有效的方法吗?谢谢! 我正在使用python3.6.0


Tags: namebrreportifvaluecreateparamsconditions
1条回答
网友
1楼 · 发布于 2024-09-28 05:20:27

sudo代码说明了如何做到这一点:

if f == 'mass':
    # construct parameters with for loop maybe:
    parameters = {key: value for (key, value) in [('a','b'),('c','d')]}
    # parameters = {'a': 'b', 'c': 'd'}
else:
    parameters = {key: value for (key, value) in [('b','a'),('d','c')]}

然后使用参数创建最终bson dict

report['conditions'] += [{"name": cond,
                          "biRad": br,
                          "findings": [
                              {"name": f,
                               "parameters": parameters

相关问题 更多 >

    热门问题