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 Web框架Flask中使用七牛云存储实例
Feb 08 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
python迭代器与生成器详解
Mar 10 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
numpy中loadtxt 的用法详解
Aug 03 Python
Python中一个for循环循环多个变量的示例
Jul 16 Python
python腾讯语音合成实现过程解析
Aug 01 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
PYcharm 激活方法(推荐)
Mar 23 Python
Python基本的内置数据类型及使用方法
Apr 13 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
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
php与js的区别是什么
2013/08/05 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
2015/08/18 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
js+css3实现简单时钟特效
2020/09/13 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
Python实现SMTP发送邮件详细教程
2021/03/02 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
Django的分页器实例(paginator)
2017/12/01 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
详解【python】str与json类型转换
2019/04/29 Python
python实现一个猜拳游戏
2020/04/05 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
彩色的非洲教学反思
2014/02/18 职场文书
禁烟标语大全
2014/06/11 职场文书
法定代表人身份证明书
2014/09/10 职场文书
先进班集体申报材料
2014/12/26 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python