You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何按顺序合并两个分别存储MAC、IP的字典列表

按位置合并两个对应顺序的字典列表

实现思路

两个列表元素顺序一一对应,只需要逐位取出同索引的MAC字典、IP字典,将两个字典的键值对合并为一个新字典,最终收集所有新字典组成结果列表即可。

可直接运行的代码示例

# 定义原始两个列表
mac_list = [{'macaddress': 'xx:xx:xx:xx:xx:xx'}, {'macaddress': 'cc:cc:cc:cc:cc:cc'}]
ip_list = [{'ipaddress': '192.168.1.1'}, {'ipaddress': '192.168.1.2'}]

# 列表推导式+zip配对+字典解包合并
result = [{**mac, **ip} for mac, ip in zip(mac_list, ip_list)]

运行结果

执行后result的输出和预期结构完全一致:

[
    {
        'macaddress': 'xx:xx:xx:xx:xx:xx',
        'ipaddress': '192.168.1.1'
    },
    {
        'macaddress': 'cc:cc:cc:cc:cc:cc',
        'ipaddress': '192.168.1.2'
    }
]

补充说明

  • 该写法默认两个列表长度相等,zip()会以较短的列表长度为准做截断。如果需要严格校验两列表长度一致,可以在合并前加判断if len(mac_list) != len(ip_list)抛出异常,避免漏数据。
  • Python 3.9+ 版本支持更简洁的字典合并运算符写法,合并逻辑可以替换为result = [mac | ip for mac, ip in zip(mac_list, ip_list)],运行效果完全相同。
  • 若同位置的两个字典存在重复键,靠后的IP字典对应值会覆盖MAC字典的同键值,本场景下两个列表的字典键无冲突,不存在覆盖问题。

内容的提问来源于stack exchange,提问作者phythonnewbee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 08:57:19