python

超轻量级php框架startmvc

Python实现嵌套列表及字典并按某一元素去重复功能示例

更新时间:2020-05-12 10:06:01 作者:startmvc
本文实例讲述了Python实现嵌套列表及字典并按某一元素去重复功能。分享给大家供大家参考

本文实例讲述了Python实现嵌套列表及字典并按某一元素去重复功能。分享给大家供大家参考,具体如下:


#! /usr/bin/env python
#coding=utf-8
class HostScheduler(object):
 def __init__(self, resource_list):
 self.resource_list = resource_list
 def MergeHost(self):
 allResource=[]
 allResource.append(self.resource_list[0])
 for dict in self.resource_list:
 #print len(l4)
 k=0
 for item in allResource:
 #print 'item'
 if dict['host'] != item['host']:
 k=k+1
 #continue
 else:
 break
 if k == len(allResource):
 allResource.append(dict)
 taskhost=[]
 for item in allResource:
 taskhost.append(item['host'])
 return taskhost
#该函数实现嵌套列表中,按某一元素去重复
def deleteRepeat():
 #1、列表中嵌套列表。按元素‘b'实现去重复
 l1=[['b',1],['b',2],['c',3],['a',1],['b',1],['b',1],]
 l2=[]
 l2.append(l1[0])
 for data in l1:
 #print len(l2)
 k=0
 for item in l2:
 #print 'item'
 if data[0] != item[0]:
 k=k+1
 else:
 break
 if k == len(l2):
 l2.append(data)
 print "l2: ",l2
 #2、列表中嵌套字典。按键值host实现去重复
 l3=[{'host':'compute21', 'cpu':2},{'host':'compute21', 'cpu':2},{'host':'compute22', 'cpu':2},
 {'host':'compute23', 'cpu':2},{'host':'compute22', 'cpu':2},{'host':'compute23', 'cpu':2},
 {'host':'compute24', 'cpu':2}]
 l4=[]
 l4.append(l3[0])
 for dict in l3:
 #print len(l4)
 k=0
 for item in l4:
 #print 'item'
 if dict['host'] != item['host']:
 k=k+1
 #continue
 else:
 break
 if k == len(l4):
 l4.append(dict)
 print "l4: ",l4
if __name__ == '__main__':
 #deleteRepeat()
 resource_list=[{'host':'compute21', 'cpu':2},{'host':'compute21', 'cpu':2},{'host':'compute22', 'cpu':2},
 {'host':'compute23', 'cpu':2},{'host':'compute22', 'cpu':2},{'host':'compute23', 'cpu':2},
 {'host':'compute24', 'cpu':2}]
 hostSchedule=HostScheduler(resource_list)
 taskhost=hostSchedule.MergeHost()
 print '脚本之家测试结果: '
 print 'taskhost: '
 print taskhost

运行结果:

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线去除重复项工具: http://tools.jb51.net/code/quchong

在线文本去重复工具: http://tools.jb51.net/aideddesign/txt_quchong

Python 嵌套 列表 字典 去重复