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常见的格式化输出小结
Dec 15 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
python中lambda()的用法
Nov 16 Python
彻底搞懂Python字符编码
Jan 23 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
python 检查是否为中文字符串的方法
Dec 28 Python
Python列表对象实现原理详解
Jul 01 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
Python反爬虫伪装浏览器进行爬虫
Feb 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
用JS实现的一个include函数
2007/07/21 Javascript
JavaScript中URL编码函数代码
2011/01/11 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
python在不同层级目录import模块的方法
2016/01/31 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
python批量赋值操作实例
2018/10/22 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
Linux的文件类型
2012/03/07 面试题
就业自荐书
2013/12/05 职场文书
环保建议书
2014/03/12 职场文书
收费员岗位职责
2015/02/14 职场文书
部队2015年终工作总结
2015/04/02 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL