python去重元给中有字典项怎么去重,python字典项,在 python 中,我
python去重元给中有字典项怎么去重,python字典项,在 python 中,我
在 python 中,我得到了一个这样的数据。
persontel = ({'name':'lyli';'tel':'123'},{'name':'linlei';'tel':'125'},{'name':'lyli';'tel':'123'})
我怎么样为这样的数据去重呢?想达到的效果是,最后:
persontel = ({'name':'lyli';'tel':'123'},{'name':'linlei';'tel':'125'})
求大神指教。
persontel = [{'name':'lyli','tel':'123'},{'name':'linlei','tel':'125'},{'name':'lyli','tel':'123'}]print [dict(t) for t in set([tuple(person.items()) for person in persontel])]
因为 dict 是 unhashable, 转换成 tuple 即可。
如果要保持有序的话, 可以这样, 但是效率不高.
这是改正后的数据.
persontel = ({'name':'lyli','tel':'123'},{'name':'linlei','tel':'125'}, {'name':'lyli','tel':'123'})
然后:
persontel = [ x for i,x in enumerate(persontel) if x not in persontel[:i] ]
集合中的元素没有重复,所以你需要做的仅仅是把列表转成集合。
set(persontel)
我问过相似的问题,结果被人踩了好多遍,深知新手的不容易。后来自己找身边的人问出了解决办法,看你是新手,帮你一把吧!
首先,python没有这样的数据格式,
persontel = ({'name':'lyli';'tel':'123'},{'name':'linlei';'tel':'125'},{'name':'lyli';'tel':'123'})
我是这样实现的:
代码如下:
persontel = ({'name':'lyli','tel':'123'},{'name':'linlei','tel':'125'},{'name':'lyli','tel':'123'})persontel = tuple(map(eval,set(map(str,persontel))))print persontel
ps:惭愧惭愧,此答案可以忽略,请参考Zhongwei Sun 的正解
编橙之家文章,
相关内容
- Python pip install xlwings遇到error找不到原因,pipxlwings,按照
- 《Python编程实践》for语法使用啥意思,,《Python编程实践
- 准备用python做下载器怎么样?需要了解些知识点,pyt
- python urllib2中打印处理信息的方法是什么,pythonurllib2
- 有Python scrapy下载网站数据的源码可以参考吗,pythonsc
- Python爬虫源码求解析问为何for循环语句无法输出,pyt
- 招聘单位对Python和django熟练度的要求是怎样的,python
- python 文中源码dict内下划线及括号有什么作用,,我在看
- Python曾经使用的命令列表用什么查看,python命令,如题。
- 求Python爬虫如何鉴别网页语言的方法,python爬虫鉴别网
评论关闭