- Understand Hashes and Nesting
- Work on Sorting Hashes and manipulating nested data structures.
You are given the following collected data on New York City pigeons in the form of a hash.
pigeon_data = {
:color => {
:purple => ["Theo", "Peter Jr.", "Lucky"],
:grey => ["Theo", "Peter Jr.", "Ms. K"],
:white => ["Queenie", "Andrew", "Ms. K", "Alex"],
:brown => ["Queenie", "Alex"]
},
:gender => {
:male => ["Alex", "Theo", "Peter Jr.", "Andrew", "Lucky"],
:female => ["Queenie", "Ms. K"]
},
:lives => {
"Subway" => ["Theo", "Queenie"],
"Central Park" => ["Alex", "Ms. K", "Lucky"],
"Library" => ["Peter Jr."],
"City Hall" => ["Andrew"]
}
}
Iterate over the hash above, collecting each pigeon by name and insert it as the key of a new hash where each name holds the attributes for that bird. Your output should look something like the hash below:
pigeon_list = {
"Theo" => {
:color => ["purple", "grey"],
:gender => ["male"],
:lives => ["Subway"]
},
"Peter Jr." => {
:color => ["purple", "grey"],
:gender => ["male"],
:lives => ["Library"]
},
"Lucky" => {
:color => ["purple"],
:gender => ["male"],
:lives => ["Central Park"]
},
"Ms. K" => {
:color => ["grey", "white"],
:gender => ["female"],
:lives => ["Central Park"]
},
"Queenie" => {
:color => ["white", "brown"],
:gender => ["female"],
:lives => ["Subway"]
},
"Andrew" => {
:color => ["white"],
:gender => ["male"],
:lives => ["City Hall"]
},
"Alex" => {
:color => ["white", "brown"],
:gender => ["male"],
:lives => ["Central Park"]
}
}
View NYC Pigeon Organizer on Learn.co and start learning to code for free.