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中迭代器(iterator)用法实例分析
Apr 29 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
Python人脸识别初探
Dec 21 Python
Python之文字转图片方法
May 10 Python
使用matplotlib画散点图的方法
May 25 Python
详解python异步编程之asyncio(百万并发)
Jul 07 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
Django 项目通过加载不同env文件来区分不同环境
Feb 17 Python
Python PyQt5整理介绍
Apr 01 Python
python使用建议与技巧分享(一)
Aug 17 Python
Python如何配置环境变量详解
May 18 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检测数组长度函数sizeof与count用法
2014/11/17 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
新鲜出炉的js tips提示效果
2011/04/03 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
python 多线程应用介绍
2012/12/19 Python
Python 文件和输入输出小结
2013/10/09 Python
Python守护进程用法实例分析
2015/06/04 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
图解Python变量与赋值
2018/04/03 Python
python遍历小写英文字母的方法
2019/01/02 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
群众路线党课主持词
2014/04/01 职场文书
求职自荐信的格式
2014/04/07 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers