如何将Google Sheet中SW1对应的Port值整合为字典的列表值?
解决方法
你的代码问题在于每次匹配到SW1时,都会重新创建一个字典,并且将单个端口值直接赋值给ports键,因此每次循环输出的都是仅含单个端口的独立字典。要生成包含端口列表的字典,需要先收集所有符合条件的端口到列表中,再构建字典。
修正后的基础代码
# 初始化空列表存储符合条件的端口 port_list = [] for x in get_SW_data: if x[0] == "SW1": # 将匹配到的端口追加到列表 port_list.append(x[1]) # 构建包含列表的目标字典 port_dict = {"ports": port_list} print(port_dict)
运行后输出:
{'ports': ['Port 1', 'Port 2']}
更简洁的列表推导式写法
可以用列表推导式直接完成筛选和收集,代码更紧凑:
port_dict = {"ports": [x[1] for x in get_SW_data if x[0] == "SW1"]} print(port_dict)
内容的提问来源于stack exchange,提问作者dnet
相关产品推荐
相关产品推荐

