Python实现嵌套列表及字典并按某一元素去重复功能示例
作者:爱橙子的OK绷 发布时间:2023-02-22 10:44:05
标签:Python,列表,字典,去重复
本文实例讲述了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
运行结果:
PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:
在线去除重复项工具:
http://tools.jb51.net/code/quchong
在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong
希望本文所述对大家Python程序设计有所帮助。
来源:http://blog.csdn.net/will130/article/details/50441937


猜你喜欢
- 一、简介Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包
- 引言入门python-docx很容易。让我们来看一下基础知识。官方文档打开文档你需要的第一件事是工作的文档。最简单的方法是:from doc
- 代码如下:--获取当前时间 Select getdate() --获取当前年月日 YY代表年,MM代表月,DD代表日,hh代表时
- 在做维护项目的时,我们经常会遇到索引维护的问题,通过语句,我们就可以判断某个表的索引是否需要重建。 执行一下语句:先分析表的索引 分析表的索
- 一、xlsxwriter 基本用法,创建 xlsx 文件并添加数据官方文档:http://xlsxwriter.readthedocs.or
- 对于个人网站来说,受到建站条件的制约,Access数据库成了广大个人网站站长的首选。然而,Access数据库本身存在很多安全隐患,攻击者一旦
- 准备必须环境:Python3开始先实现一个简单的版本,直接上代码:import urllib.requestimport urllib.er
- 数据可视化是一种将庞杂抽象的数据转化为直观易懂的图形的数据呈现技术,它能帮助我们快速把握数据的分布和规律,更加轻松地理解和探索信息。在当今这
- 今天使用import pandasusers = pandas.read_csv("H:\python\data analysis
- 1、引言小 * 丝:鱼哥,最近有点不像话了。小鱼:嗯?? 啥个意思嘛~小 * 丝:一周了,没分享小知识了。小鱼:就因为这个??小 * 丝:那是,我这么爱
- let和const声明的变量只在代码块内有效{let a = 10;var b = 1;}a // ReferenceError: a is
- 本文实例讲述了Python自然语言处理 NLTK 库用法。分享给大家供大家参考,具体如下:在这篇文章中,我们将基于 Python 讨论自然语
- 基本示例?计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变化时执行一些“副作用&rdquo
- PHP get_html_translation_table() 函数实例输出 htmlspecialchars 函数使用的翻译表:<
- 前言在ES6新增的数组方法中,包含了多个遍历方法,其中包含了用于筛选的filter和reducefilter主要用于筛选数组的filter方
- Win7安装mysql的具体过程,我的版本是5.5.21 以下是我的安装步骤:1、首先单击MySQL5.5.21的安装文件,出现该数据库的安
- easy_install更准确的说是一个和setuptools绑定的模块,一切下载、构建、安装和管理的工作都可以由它来担当。 一般的执行方式
- 本文实例讲述了Python3实现从文件中读取指定行的方法。分享给大家供大家参考。具体实现方法如下:# Python的标准库linecache
- 这些日子,几乎每个人都在谈论XML (Extensible Markup Language),但是很少有人真正理解其含义。XML的推崇者认为
- 当我们使用访问一个没有声明的变量时,JS会报错;而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量。