如何将创建多个字典的 for 循环的输出加入/合并到一个大字典中

Posted

技术标签:

【中文标题】如何将创建多个字典的 for 循环的输出加入/合并到一个大字典中【英文标题】:How to join/merge the output of a for loop which creates multiple dictionaries into one single big dictionary 【发布时间】:2021-05-23 12:44:25 【问题描述】:

我是 Python 的新手。在加入/合并 for 循环的输出时需要帮助,该循环将多个字典创建到一个大字典中。

        vpc_peer =  
        for key in vpc_list: 
            for value in neigh_ips: 
                vpc_peer[key] = value 
                neigh_ips.remove(value)  
            break           
        print(vpc_peer)

打印输出是这样的

'vpc-0a21601da78d1ef30': '169.254.27.159'

'vpc-049920287c06fb681': '169.254.27.203'

'vpc-0f3bc5629259fb713': '169.254.28.23'

'vpc-0b0e5a878de4ca0b3': '169.254.28.27'

我正在寻找的是将 for 循环的输出合并到一个大字典中,如下所示

'VPC-0A21601DA78D1EF30':'169.254.27.159','VPC-049920287C06FB681':'169.254.27.203','VPC-0F3BC5629259FB713':'169.254.28.23','VPC-0B0E5A878DE4CA0B3':'169.254.28.27 '

【问题讨论】:

【参考方案1】:

我认为this question 对您的问题有很多可能的答案。一个快速的方法就是使用update() 函数:

vpc_peer.update(neigh_ips)

【讨论】:

感谢您的回复。你能告诉我在代码中究竟在哪里使用它吗?因为当我尝试时,我没有得到预期的结果。 “for 循环”的输出是每行打印出 200 多个字典,我需要将它们合并到一个字典中。 我想我可能没有完全理解你的问题。您在问题中显示的那段代码实际上在另一个 for 循环中?如果是这样的话,你也可以显示其余的代码吗?我的想法是只使用:vcc_peer = ,然后使用vpc_peer.update(neigh_ips),仅此而已。 没关系,我想出了办法。

以上是关于如何将创建多个字典的 for 循环的输出加入/合并到一个大字典中的主要内容,如果未能解决你的问题,请参考以下文章

For循环正在覆盖列表中的字典值[重复]

如何使用 for 循环组合多个数据帧?

如何在 dbt jinja 中将两个表加入字典

嵌套 for 循环的 Pandas 在创建的不同数据帧上插入多个数据

Python for-in Loop常见遍历方法

在带有pdf输出的r markdown中的for循环中包含多个空行