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实现时间o(1)的最小栈的实例代码
Jul 23 Python
pycharm运行出现ImportError:No module named的解决方法
Oct 13 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
python处理大日志文件
Jul 23 Python
微信小程序python用户认证的实现
Jul 29 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
Python 实现Image和Ndarray互相转换
Feb 19 Python
Python实现文件压缩和解压的示例代码
Aug 12 Python
python 如何实现遗传算法
Sep 22 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 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
mysql数据库差异比较的PHP代码
2012/02/05 PHP
2014过年倒计时示例
2014/01/31 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
Python greenlet实现原理和使用示例
2014/09/24 Python
python读写二进制文件的方法
2015/05/09 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
对python周期性定时器的示例详解
2019/02/19 Python
django将数组传递给前台模板的方法
2019/08/06 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
利用Python计算KS的实例详解
2020/03/03 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
简单的辞职信范文
2014/01/18 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
防止web项目中的SQL注入
2021/12/06 MySQL
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers