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 cookielib 登录人人网的实现代码
Dec 19 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
python杀死一个线程的方法
Sep 06 Python
微信跳一跳游戏python脚本
Apr 01 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
python读取图片任意范围区域
Jan 23 Python
pymongo中聚合查询的使用方法
Mar 22 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
浅析Django接口版本控制
Jun 26 Python
Python内置包对JSON文件数据进行编码和解码
Apr 12 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 已经成熟
2006/12/04 PHP
PHP简单系统查询模块代码打包下载
2008/06/07 PHP
详解PHP中的Traits
2015/07/29 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
JavaScript事件类型中UI事件详解
2016/01/14 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
linux下python抓屏实现方法
2015/05/22 Python
Python编写一个闹钟功能
2017/07/11 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
python实现函数极小值
2019/07/10 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
Django 限制访问频率的思路详解
2019/12/24 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
优秀英语专业毕业生求职信
2013/11/23 职场文书
企业厂长岗位职责
2013/12/17 职场文书
四年级数学教学反思
2014/02/02 职场文书
法人授权委托书范本
2014/04/04 职场文书
先进基层党组织材料
2014/12/25 职场文书
戒赌保证书
2015/05/11 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
导游词之太湖
2019/10/08 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
golang实现浏览器导出excel文件功能
2022/03/25 Golang
python获取字符串中的email
2022/03/31 Python