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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
分析在Python中何种情况下需要使用断言
Apr 01 Python
Python psutil模块简单使用实例
Apr 28 Python
详解字典树Trie结构及其Python代码实现
Jun 03 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
Python线程指南详细介绍
Jan 05 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
PyTorch中的Variable变量详解
Jan 07 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 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
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
2015/06/10 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
python中定义结构体的方法
2013/03/04 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
python队列原理及实现方法示例
2019/11/27 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
瑞士国际航空官网:SWISS
2016/07/21 全球购物
我的大学生活职业生涯规划
2014/01/02 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
八年级语文教学反思
2016/03/03 职场文书
辞职申请书范本
2019/05/20 职场文书
MongoDB使用场景总结
2022/02/24 MongoDB