fork download
  1. import random
  2. import collections
  3.  
  4. PERCENTAGE = 0.2
  5.  
  6. names_all = ["albert", "bruce", "anna", "bella", "cindy",
  7. "colbert", "anakin", "al gore", "carla", "cole"] * 50 # men + women, men.extend(women), etc
  8.  
  9. names_subset = random.sample(names_all, int(PERCENTAGE * len(names_all)))
  10.  
  11. names_dict = collections.defaultdict(list)
  12. for name in names_subset:
  13. names_dict[name[0].lower()].append(name)
  14.  
  15. for letter in names_dict:
  16. names = names_dict[letter]
  17. names_dict[letter] = random.sample(names, int(PERCENTAGE * len(names)))
  18.  
  19. print(names_dict)
Success #stdin #stdout 0.01s 37616KB
stdin
Standard input is empty
stdout
defaultdict(<class 'list'>, {'a': ['anakin', 'anna', 'anakin', 'anakin', 'anakin', 'anna', 'anakin', 'al gore', 'al gore'], 'c': ['carla', 'colbert', 'cole', 'carla', 'colbert', 'cindy', 'colbert'], 'b': ['bruce', 'bella', 'bella']})