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

本文展示了如何在Python中实现嵌套列表和字典的去重复功能。通过创建HostScheduler类,实现了根据特定元素(如'host')删除嵌套字典中的重复项。同时给出了两个示例,分别针对列表内嵌套列表和字典的情况,演示了去重复的完整过程。
摘要由CSDN通过智能技术生成

本文实例讲述了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

运行结果:

e96eeaa5df9dfe60a6db90eaf305b1e4.png

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

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

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

更多关于Python相关内容可查看本站专题:《Python字典操作技巧汇总》、《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值