这里对象添加到Python的集收集,并确定是我的代码:通过对象的属性
#!/usr/bin/python
class Person():
def __init__(self, name, age):
self.name = name
self.age = age
def get_detail(self):
print "I am %s , my age is %d" % (self.name, self.age)
if __name__ == '__main__':
tom = Person('tom', 18)
jack = Person('jack', 20)
mary = Person('mary', 22)
mary2 = Person('mary2', 22)
mary3 = Person('mary3', 22)
person_set = set([])
person_set.add(tom)
person_set.add(jack)
person_set.add(mary)
person_set.add(mary2)
person_set.add(mary3)
for man in person_set:
man.get_detail()
结果:
I am jack , my age is 20
I am mary2 , my age is 22
I am tom , my age is 18
I am mary , my age is 22
I am mary3 , my age is 22
预期结果:
I am jack , my age is 20
I am tom , my age is 18
I am mary , my age is 22
按照预期结果,我的意思是当我将Person
添加到person_set
中时,我想确定新人是否已经完全通过属性age
。什么是正确的方式来做到这一点?
所以,作为一个例子,'弗兰克,年龄19'将是一样'希瑟,19'年代,如果你只是按年龄比较? – jamylak
是的,只有第一个被添加到集合中才会被存储 – sashimi
@sashimi,那么你需要一个字典,其中age作为key,Person对象作为值。 – spinlok