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


Posted in Python onNovember 30, 2017

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

运行结果:

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

Python 相关文章推荐
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 Python
Sanic框架请求与响应实例分析
Jul 16 Python
python 剪切移动文件的实现代码
Aug 02 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
Python操作注册表详细步骤介绍
Feb 05 Python
python实现坦克大战
Apr 24 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 #Python
Python实现按特定格式对文件进行读写的方法示例
Nov 30 #Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 #Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 #Python
Python编程使用tkinter模块实现计算器软件完整代码示例
Nov 29 #Python
Python科学画图代码分享
Nov 29 #Python
Python中Scrapy爬虫图片处理详解
Nov 29 #Python
You might like
PHP中$_SERVER的详细参数与说明
2008/07/29 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
PHP 图片处理
2020/09/16 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
js实现二级导航功能
2017/03/03 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
Android面试宝典
2013/08/06 面试题
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
关于毕业的广播稿
2014/01/10 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
护士个人年度总结范文
2015/02/13 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers