python
来源:互联网 发布:网站采集软件 编辑:程序博客网 时间:2024/06/11 19:12
摘自:http://m.blog.csdn.net/will130/article/details/50441937
t1 = [{'a':1}, {'a':2}, {'a':2}]#dict([d.items()[0] for d in t1]).items()之外的部分纯粹是把列表内还原成一个字典t2 = [{value:key} for key, value in dict([d.items()[0] for d in t1]).items()]
#! /usr/bin/env python#coding=utf-8class 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: ",l4if __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 'taskhost: ' print taskhost
输出结果:
l2: [['b', 1], ['c', 3], ['a', 1]]l4: [{'host': 'compute21', 'cpu': 2}, {'host': 'compute22', 'cpu': 2}, {'host': 'compute23', 'cpu': 2}, {'host': 'compute24', 'cpu': 2}]taskhost: ['compute21', 'compute22', 'compute23', 'compute24']
阅读全文
0 0
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- python
- Python
- 问题 E: 输出入门
- Java 并发编程:核心理论
- Centos 7 安装nginx
- 简述Struts
- 大数据Top K算法思路
- python
- 基于Oracle数据库的sql语句,有点乱
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 数据结构实验之图论七:驴友计划
- Codeforces Round #449 (Div. 2)
- 【bzoj3169: [Cerc2012]Conservation】
- 怎样用ffmpeg 压缩视频
- javascript基本操作
- python对nosql的操作四