curriculum/challenges/english/blocks/daily-coding-challenges-python/68e39ed6106dac2f0a98fd62.md
On October 29, 1971, the first email ever was sent, introducing the username@domain format we still use. Now, there are billions of email addresses.
In this challenge, you are given a list of email addresses and need to sort them alphabetically by domain name first (the part after the @), and username second (the part before the @).
For example, given ["[email protected]", "[email protected]", "[email protected]"], return ["[email protected]", "[email protected]", "[email protected]"].
sort(["[email protected]", "[email protected]", "[email protected]"]) should return ["[email protected]", "[email protected]", "[email protected]"].
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(sort(["[email protected]", "[email protected]", "[email protected]"]), ["[email protected]", "[email protected]", "[email protected]"])`)
}})
sort(["[email protected]", "[email protected]", "[email protected]"]) should return ["[email protected]", "[email protected]", "[email protected]"].
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(sort(["[email protected]", "[email protected]", "[email protected]"]), ["[email protected]", "[email protected]", "[email protected]"])`)
}})
sort(["[email protected]", "[email protected]", "[email protected]"]) should return ["[email protected]", "[email protected]", "[email protected]"].
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(sort(["[email protected]", "[email protected]", "[email protected]"]), ["[email protected]", "[email protected]", "[email protected]"])`)
}})
sort(["[email protected]", "[email protected]", "[email protected]"]) should return ["[email protected]", "[email protected]", "[email protected]"].
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(sort(["[email protected]", "[email protected]", "[email protected]"]), ["[email protected]", "[email protected]", "[email protected]"])`)
}})
sort(["[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"]) should return ["[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"].
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(sort(["[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"]), ["[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]"])`)
}})
def sort(emails):
return emails
def sort(emails):
return sorted(
emails,
key=lambda email: (email.split('@')[1].lower(), email.split('@')[0].lower())
)