Skip to main content
 首页 » 编程设计

python之如何将字典列表的数组合并为一个字典

2025年05月04日14xing901022

我有如下输入数据

[{'s1': 'INT', 's2': 'INT'}, {'s1': 'TINYINT', 's2': 'TINYINT'}, {'s1': 'SMALLINT', 's2': 'SMALLINT'}, {'s1': 'BIGINT', 's2': 'BIGINT'}, {'s1': 'BIT', 's2': 'VARCHAR(10)'}, {'s1': 'FLOAT', 's2': 'FLOAT'}] 

并希望输出如下。

{'INT':'INT', 'TINYINT': 'TINYINT', 'SMALLINT': 'SMALLINT', 'BIGINT': 'BIGINT', 'BIT': 'VARCHAR(10)', 'FLOAT': 'FLOAT'} 

我已经完成了下面的 SO 问题,但没有运气。

How do I merge a list of dicts into a single dict?

请提出任何建议。

请您参考如下方法:

这是一种方法。

s = [{'s1': 'INT', 's2': 'INT'}, {'s1': 'TINYINT', 's2': 'TINYINT'}, {'s1': 'SMALLINT', 's2': 'SMALLINT'}, {'s1': 'BIGINT', 's2': 'BIGINT'}, {'s1': 'BIT', 's2': 'VARCHAR(10)'}, {'s1': 'FLOAT', 's2': 'FLOAT'}] 
print(dict((i["s1"], i["s2"]) for i in s)) 

输出:

{'SMALLINT': 'SMALLINT', 'INT': 'INT', 'FLOAT': 'FLOAT', 'TINYINT': 'TINYINT', 'BIGINT': 'BIGINT', 'BIT': 'VARCHAR(10)'}