HackerRank Python - Validating Email Addresses With a Filter
You are given an integer N followed by N email addresses. Your task is to print a list containing only valid email addresses in lexicographical order.
- def fun(email):
- try:
- username, url = email.split('@')
- website, extension = url.split('.')
- except ValueError:
- return False
-
- if username.replace('-', '').replace('_', '').isalnum() is False:
- return False
- elif website.isalnum() is False:
- return False
- elif len(extension) > 3:
- return False
- else:
- return True
-
-
-
- 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)