Python 2.7如何将网卡信息列表转换为指定格式字典?
嘿,这个分组转字典的需求很容易实现,咱们用Python的切片功能就能轻松搞定,我给你两种实用的写法:
首先先定义好原始列表:
original_list = ['Wi-Fi', '10.0.10.22', '255.255.0.0', '34-F3-9A-4C-D0-C4', 'VMware Network Adapter VMnet1', '192.168.10.111', '255.255.255.0', '00-50-56-C0-00-01', 'Loopback Pseudo-Interface 1', '127.0.0.1', '255.0.0.0', '00-00-00-00-00-00-00-E0']
方法一:循环分组(直观易懂)
这种写法适合新手理解,一步步拆分逻辑:
result_dict = {} # 计算总共有多少组:总长度除以每组4个元素 group_count = len(original_list) // 4 for idx in range(group_count): # 计算当前组的起始位置 start_idx = idx * 4 # 切片获取当前组的4个元素 current_group = original_list[start_idx : start_idx + 4] # 把组对应到字符串类型的序号键上 result_dict[str(idx + 1)] = current_group print(result_dict)
方法二:字典推导式(简洁高效)
如果喜欢更紧凑的代码,可以用字典推导式一行搞定,逻辑和上面完全一致:
result_dict = {str(idx + 1): original_list[idx*4 : (idx+1)*4] for idx in range(len(original_list)//4)} print(result_dict)
运行任意一种方法,都会得到你想要的字典格式啦。要是你的原始列表长度不是4的倍数,这两种写法会自动忽略多余的元素,要是需要处理这种边界情况,可以额外加个判断来收尾~
内容的提问来源于stack exchange,提问作者Park Yo Jin
相关产品推荐
相关产品推荐

