Python Forum
Homework - List containing tuples containing dicti
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Homework - List containing tuples containing dicti
#1
Hi guys...I'm baaaaack!

I have a list that contains listed tuples and inside of each tuple there is a dictionary.

I have to access the dictionaries and get the 'last_name' from all the records and use the Counter() function to return the number of occurrences for each last name. Where the output for example would be 'doe': 2, 'stark': 1 etc...

I have a result that works but for some reason when I define a function and add the code it gives me a totally different response.

Here we go....oh and one more thing...below is used to get the results from the function:

result = get_last_name_count(buckets)
for k, v in result.items():
print(f"{k}: {v}")

from collections import Counter

buckets = [ ('[email protected]',{'first_name':'john','last_name':'doe'}),
            ('[email protected]',{'first_name':'jane','last_name':'doe'}),
            ('[email protected]',{'first_name':'derek','last_name':'zoolander'}),
            ('[email protected]',{'first_name':'murph','last_name':'cooper'}),
            ('[email protected]',{'first_name':'ned','last_name':'stark'})
            ]

final_list = []
for key, value in buckets:
    last_names = value['last_name']
    final_list.append(last_names)

print(Counter(final_list))

""" When I run the print within the for loop, I get the following output: """
# {'doe': 1}
# {'doe': 2}
# {'doe': 2, 'zoolander': 1}
# {'doe': 2, 'zoolander': 1, 'cooper': 1}
# {'doe': 2, 'zoolander': 1, 'cooper': 1, 'stark': 1}
""" The last one is the one I need """

""" When I run the print outside of the for loop, I get the following output: """
# Counter({'doe': 2, 'zoolander': 1, 'cooper': 1, 'stark': 1})

""" Here's the function """
def get_last_name_count(list_of_records):
    final_list = []
    for key, value in buckets:
         last_names = value['last_name']
         final_list.append(last_names)
         return Counter(final_list)

""" When I return the Counter in/out the function, I get the following output: """
# in I get: doe: 1
# out I get: 
# doe: 2
# zoolander: 1
# cooper: 1
# stark: 1
Reply


Messages In This Thread
Homework - List containing tuples containing dicti - by Men - Dec-25-2021, 12:31 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Help with list homework eyal123 5 1,716 Nov-18-2022, 03:46 PM
Last Post: deanhystad
  Sorting list - Homework assigment ranbarr 1 2,265 May-16-2021, 04:45 PM
Last Post: Yoriz
  Removing existing tuples from a list of tuple Bruizeh 4 2,824 May-15-2021, 07:14 PM
Last Post: deanhystad
  Input validation for nested dict and sorting list of tuples ranbarr 3 3,948 May-14-2021, 07:14 AM
Last Post: perfringo
  have homework to add a list to a list using append. celtickodiak 2 2,052 Oct-11-2019, 12:35 PM
Last Post: ibreeden
  Dictionary/List Homework ImLearningPython 22 10,658 Dec-17-2018, 12:12 AM
Last Post: ImLearningPython

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020