from collections import defaultdict
def group_by_first_letter(words):
groups = defaultdict(list)
for word in words:
first_letter = word[0]
groups[first_letter].append(word)
return groups
def print_groups(groups):
for letter, group in groups.items():
print(f"{letter}: {group}")
def main():
words = ["Python", "JavaScript", "C", "Java", "C#", "PHP",
"C++", "Pascal", "SQL", "Rust"]
grouped = group_by_first_letter(words)
print_groups(grouped)
print(grouped) # raw defaultdict output, like your original code
main()
'''
run:
P: ['Python', 'PHP', 'Pascal']
J: ['JavaScript', 'Java']
C: ['C', 'C#', 'C++']
S: ['SQL']
R: ['Rust']
defaultdict(<class 'list'>, {'P': ['Python', 'PHP', 'Pascal'], 'J': ['JavaScript', 'Java'], 'C': ['C', 'C#', 'C++'], 'S': ['SQL'], 'R': ['Rust']})
'''