如何将字典列表合并为单个字典?附输入输出示例
解决方法:将字典列表合并为单一字典
嘿,我来帮你搞定这个问题!你需要把包含多个小字典的列表转换成一个以s1值为键、s2值为值的单一字典对吧?其实方法很简单,这里给你几种实用的实现方式:
方法一:字典推导式(最简洁高效)
这是Python里处理这类转换最常用的方式,一行代码就能搞定:
original_list = [{'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'}] result_dict = {item['s1']: item['s2'] for item in original_list} print(result_dict)
运行后就会得到你想要的输出:
{'INT':'INT', 'TINYINT': 'TINYINT', 'SMALLINT': 'SMALLINT', 'BIGINT': 'BIGINT', 'BIT': 'VARCHAR(10)', 'FLOAT': 'FLOAT'}
这个推导式会遍历列表里的每一个字典元素,把每个元素的s1字段作为键,s2字段作为对应的值,直接构建出目标字典。
方法二:循环遍历+手动赋值(更直观)
如果觉得推导式有点抽象,也可以用循环的方式逐个处理每个字典,逻辑更清晰:
result_dict = {} for item in original_list: # 把当前字典的s1作为键,s2作为值存入结果字典 result_dict[item['s1']] = item['s2']
这种方法和推导式的效果完全一样,只是写法更直白,适合刚接触Python的朋友理解。
注意事项
如果你的原始列表里存在重复的s1值,后面出现的字典会覆盖前面的对应值。比如如果列表里有两个s1为INT的字典,最终结果里INT对应的会是最后一个字典的s2值。
内容的提问来源于stack exchange,提问作者data_addict
相关产品推荐
相关产品推荐

