Python中文
首页
教程
问答
标签
搜索
登录
注册
Python:在上创建新对象之前检查对象是否已经存在
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>请帮我看看下面我遗漏了什么。我首先创建了类的三个对象并将它们添加到集合列表中。在创建任何其他对象之前,我要检查<em>以确保列表中不存在该人。如果该人已经存在,则不应再创建该人。我希望通过做<code>if prompt_fname == person.fname and prompt_lname == person.lname:</code>来实现这个检查。显然,我做得不对,因为程序仍然运行并创建了列表中已经存在的同一个人。它创造了这个人两次。如何修改以捕获此项,以便不再创建已存在于列表中的人员。同样,在循环的每次迭代中都不应该一次又一次地创建任何新人。我不熟悉编程,所以请不要在回答中遗漏太多细节。谢谢。在</p> <pre><code>class Person(object): personslist = [] '''Creates a person object''' def __init__(self, firstname, lastname): self.lname = lastname.title() self.fname = firstname.title() Person.personslist.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(self) def __str__(self): return "{0} {1}".format(self.fname, self.lname) def __repr__(self): return "{0} {1}".format(self.fname, self.lname) Person("Adamu", "Emeka") Person("Femi", "Ojukwu") Person("Wole", "Jonathan") prompt_fname = "Adamu" prompt_lname = "Emeka" print(Person.personslist) for person in Person.personslist: if prompt_fname == person.fname and prompt_lname == person.lname: pass else: Person(prompt_fname, prompt_lname) print(Person.personslist) </code></pre> <p>收益率</p> ^{pr2}$ <p><strong>使用Python 3.4.1</strong></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>每次添加名称前,请检查完整列表:</p> <pre><code>name = prompt_fname + prompt_lname if not any(person.fname + person.lname == name for person in Person.personslist): Person(prompt_fname, prompt_lname) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
9 回答
如何合并多个xarray数据变量及其坐标?
5 回答
如何合并多个列中具有重复值的行
7 回答
如何合并多个唯一id
6 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
9 回答
如何合并多个字典并添加同一个键的值?(Python)
8 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
7 回答
如何合并多个数据帧
4 回答
如何合并多个数据帧并使用Pandas为假人添加列?
1 回答
如何合并多个数据帧并按时间戳排序
3 回答
如何合并多个数据帧的列表并用另一个lis标记每列
2 回答
如何合并多个数据框中的列
4 回答
如何合并多个文件?
7 回答
如何合并多个查询集?
10 回答
如何合并多个绘图?
2 回答
如何合并多个词典
10 回答
如何合并多个输入数据集(数据帧)?
5 回答
如何合并多条记录中拆分的文本行
4 回答
如何合并多索引列datafram
7 回答
如何合并多级(即多索引)数据帧?
3 回答