美文网首页Python
Python中对象在集合set()的剔重

Python中对象在集合set()的剔重

作者: 用1心 | 来源:发表于2018-08-02 21:55 被阅读0次
1531564399614.jpeg
  1. 集合set剔重
#conding:utf-8

class User:      #创建一个类
    def __init__(self, name,age):      #初始化各个形参
        self.name = name
        self.age = age

    def __hash__(self):                #哈希算法把形参转为一个数值
        return self.name.__hash__()    #把形参 name 字符串,转换为数值
    
    def __eq__(self, other):         #一般都跟随__hash__()出现,把转换过来的值,进行比较
        if self.age == other.age:
            return True
        return False
    
    def __repr__(self):      
        return self.name + ";"  + self.age

u1 = User('tom', '18')                #创建一个对象
u2 = User('jerry', '20')              #再创建一个对象
u3 = User('shuke', '22')              #创建多个对象
u4 = User('tom', '90')                ····
u5 = User('jerry', '90')              ····

u = set()       #创建集合
print(u)

u.add(u1)      #把u1对象加入集合中
print(u)          #输出集合 u

u.add(u2)      #把u2对象加入集合中
print(u)

u.add(u3)      #把u3对象加入集合中
print(u)

u.add(u4)      #把u4对象加入集合中
print(u)

u.add(u5)      #把u5对象加入集合中
print(u)

输出结果为:

set()
{tom;18}
{tom;18, jerry;20}
{tom;18, jerry;20, shuke;22}
{tom;18, jerry;20, shuke;22}     #对象u4 没有被加入集合,因为u4的name和u1的name相同,被成功剔除
{tom;18, jerry;20, shuke;22}     #对象u5 没有被加入集合,因为u5的name和u2的name相同,被成功剔除

相关文章

  • Python中对象在集合set()的剔重

    集合set剔重 输出结果为:

  • Java SE 4

    Java SE 1.Set集合 Set用于存储不重复的对象集合,在Set集合中存储的对象中不存在两个对象equal...

  • python的去重

    python中去重的方法 在python中,最简单的方法利用集合(set)的元素不能重复的特性去重。 1)方式如下...

  • Python: set实例透析

    Python基础文章集合请移步。 Python里的 set数据类型 set是无序unique值的集合,常用来去重,...

  • Java基础—set集合

    Set集合 Set集合中元素是无序的,不可以重复,在Set集合中存储的对象,不存在两个对象equals比较为tru...

  • Java—Set集合详解(HashSet/LinkedHashS

    Set集合介绍 Set集合的概念   Set集合类似于一个容器,程序把很多对象保存到Set集合中,Set集合对添加...

  • 10.Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)集合(set)是一个无序的、不重复元素序列,因此集合没有索引且没有重...

  • 什么是集合(Collection)?

    尽管python集合(Collection,此集合非彼集合 -- set)可以包含多种数据类型的对象,但是在很多编...

  • Python中的set集合

    标签: set集合 set集合,在Python中的书写方式的{},集合与之前列表、元组类似,可以存储多个数据,但是...

  • Java (集合 Set)

    Set集合中的内容不按特定的顺序排序,只是简单添加对象,不能包含重复的对象 **Set集合由 set类和set接口...

网友评论

    本文标题:Python中对象在集合set()的剔重

    本文链接:https://www.haomeiwen.com/subject/aoxevftx.html