Validating Email Addresses With a Filter

  • + 0 comments
    def fun(s):
        
        delimitor= ['@', '.']
        for i in delimitor:
            s= s.replace(i, " ")
        s= s.split(" ")
       
        if len(s) == 3 and all([i != '' for i in s]):
            if (all(c.isalnum() or c in ('-', '_') for c in s[0])
            and s[1].isalnum() and s[2].isalpha() and len(s[2]) <= 3):
                return True
            else:
                return False
        
    def filter_mail(emails):
        return list(filter(fun, emails))
    
    if __name__ == '__main__':
        n = int(input())
        emails = []
        for _ in range(n):
            emails.append(input())
    
    filtered_emails = filter_mail(emails)
    filtered_emails.sort()
    print(filtered_emails)