我在python中有一个字典D
字典包含多个元素,一个是另一本字典 我想用反引号
更新字典'columns'的'column_name'的值(如果它是非空的)情况1: 原始字典:
{'table_name': 'table1', 'columns': {'data_type': 'string', 'column_name': 'data'}, {'data_type': 'bigint','column_name': 'foreign'}}
我要更新以下字典:column_name附加反引号
{'table_name': 'table1', 'columns': {'column_name': '`data`'}, {'column_name': '`foreign`'}}
情况2:
Original Dictionary:
{'table_name': 'table1', 'columns': {'column_name': 'start'}, {'column_name': 'primary'},
'table_name': 'table2', 'columns': {'column_name': ''user''}, {'column_name': 'order'}
}
我要更新字典,如下所示:(在column_name后面加上反引号
{'table_name': 'table1', 'columns': {'column_name': '`start`'}, {'column_name': '`primary`'},
{'table_name': 'table2', 'columns': {'column_name': '`'`user`'`'}, {'column_name': '`order`'}
答案 0 :(得分:0)
字典结构存在一些更深层次的缺陷,例如不带键的值,我建议阅读一本有关字典结构和参考的好教程:
https://realpython.com/python-dicts/
但是,对于基本问题,您会将辅助词典中的值视为词典的值。
给出以下字典(经编辑为有效字典,由于我认为这是您的意图,因此我将列更改为列表):
dictionary = {'table_name': 'table1', 'columns': [{'data_type': 'string', 'column_name': 'data'}, {'data_type': 'bigint','column_name': 'foreign'}]}
您将按以下方式在列列表的第一列中处理“ data_type”值:
dictionary['columns'][0]['data_type'] = value
但是,在此示例中,仅是严格嵌套的字典(仅一列,因此它不需要嵌套在列表中):
dictionary = {'table_name': 'table1', 'columns':{'data_type': 'string', 'column_name': 'data'}}
您将在列字典中解决“ data_type”值:
dictionary['columns']['data_type'] = value