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小程序来统计测试脚本的关键字
Mar 12 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
Django实现跨域请求过程详解
Jul 25 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
python装饰器的特性原理详解
Dec 25 Python
tensorflow estimator 使用hook实现finetune方式
Jan 21 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
如何基于pandas读取csv后合并两个股票
Sep 25 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 替换模板变量实现步骤
2009/08/24 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
python导入坐标点的具体操作
2019/05/10 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
用python对oracle进行简单性能测试
2020/12/05 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
日语专业毕业生求职信
2013/12/04 职场文书
门诊手术室工作制度
2014/01/30 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
2015年团支书工作总结
2015/04/03 职场文书