fork download
  1. # your code goes here
  2.  
  3. list1 = ["admirers", "astir", "black", "dither", "drink", "hoagies", "jolts"]
  4. list1_ = ["okra", "premise", "stickers", "surfaced", "swarm", "wilts", "wrap"]
  5. list2 = ["ark", "children's", "cuirass", "for", "hoe", "isomer", "lane"]
  6. list2_ = ["lords", "nocturnes", "riddle", "sat", "sole", "trionym", "trope"]
  7.  
  8.  
  9.  
  10. def merge_sorted_lists(list1, list2):
  11. merged_list = []
  12. i, j = 0, 0
  13.  
  14. # Traverse both lists and merge them
  15. while i < len(list1) and j < len(list2):
  16. if list1[i] < list2[j]:
  17. merged_list.append(list1[i])
  18. i += 1
  19. else:
  20. merged_list.append(list2[j])
  21. j += 1
  22.  
  23. # If any elements remain in list1
  24. while i < len(list1):
  25. merged_list.append(list1[i])
  26. i += 1
  27.  
  28. # If any elements remain in list2
  29. while j < len(list2):
  30. merged_list.append(list2[j])
  31. j += 1
  32.  
  33. return merged_list
  34.  
  35. l3 = merge_sorted_lists(list1, list2)
  36. l4 = merge_sorted_lists(list1_, list2_)
  37. d = {}
  38.  
  39. for l in list1:
  40. d.setdefault(len(l),[]).append(l)
  41.  
  42. for l in list2:
  43. d.setdefault(len(l),[]).append(l)
  44.  
  45. for l in list1_:
  46. d.setdefault(len(l),[]).append(l)
  47.  
  48. for l in list2_:
  49. d.setdefault(len(l),[]).append(l)
  50.  
  51. print(d)
Success #stdin #stdout 0.1s 14088KB
stdin
Standard input is empty
stdout
{8: ['admirers', 'stickers', 'surfaced'], 5: ['astir', 'black', 'drink', 'jolts', 'swarm', 'wilts', 'lords', 'trope'], 6: ['dither', 'isomer', 'riddle'], 7: ['hoagies', 'cuirass', 'premise', 'trionym'], 3: ['ark', 'for', 'hoe', 'sat'], 10: ["children's"], 4: ['lane', 'okra', 'wrap', 'sole'], 9: ['nocturnes']}