【发布时间】:2015-03-29 22:34:11
【问题描述】:
我正在尝试将textMessage 对象列表排序到几个列表中。
每个textMessage 都包含三个字段——发件人地址、发送时间和邮件正文。
我有 listOfContacts 包含 Contact 对象。每个Contact 对象都有两个字段——联系人的name 和该联系人的listOfTexts。 listOfTexts 填充了 textMessage 对象的列表。
我在使用排序功能时遇到了问题。给定一个文本列表,如果联系人不在列表中,我希望它向listOfContacts 添加一个新的Contact 对象。否则,我想将textMessage 对象附加到Contact 内部的listOfTexts listOfContacts 内部
我很难查看联系人是否已经存在于listOfContacts 中
def sortObjectArray(textArray):
listOfContacts = []
emptyList = []
for text in TextArray: # For each text in the sorted array
if text.address in listOfContacts.name: # if the text's address is in list of contacts
addText(text) # add the text to the list of texts in contact's class
else:
listOfContacts.append(Contact(text.get("address"), emptyList) #if address not in list of contacts, construct one with an empty list of texts.
我认为if text.address in listOfContacts.name 应该检查n 中是否存在带有name 字段的Contact listOfContacts,其中n 是短信的发件人。
我是不是走错路了?
【问题讨论】:
-
您可能会遇到的第一个问题是 listOfContacts 没有
name属性,因为它是一个列表而不是Contact对象 -
为了清楚起见,列表和数组是不同的东西。虽然 CPython 列表是基于数组的(我假设其他实现也是如此),但它们不是数组(并且 Python 没有数组类型)