我在这里有一个更大的计划的一部分。此功能正在查看一些输入电子邮件,并按字母顺序排序。有没有办法让我只看看@domain之前的部分?目前我认为它正在查看整个输入电子邮件字符串。
def __lt__(self, other):
if (self.email < other.email):
return True
else:
return False
答案 0 :(得分:3)
是:
def __lt__(self, other):
return self.email[:self.email.index('@')] < other.email[:other.email.index('@')]
鉴于'@'
中始终存在email
。
我们在这里使用切片:我们确定'@'
符号与.index('@')
一起放置的索引,我们切换为[:...]
最多(但不包括在内) )'@'
标志。所以:
>>> email='foo@bar.com'
>>> email[:email.index('@')]
'foo'
然后我们只是计算是否&#34;我们的&#34; '@'
符号前的部分小于'@'
other
符号的部分。