以下是一个示例代码,展示了如何将一个列表按照其元素的起始字母进行分组。
from itertools import groupby
def group_by_start_with(lst):
sorted_lst = sorted(lst) # 将列表按字母顺序排序
grouped_lst = groupby(sorted_lst, key=lambda x: x[0]) # 按照元素的起始字母进行分组
result = {key: list(group) for key, group in grouped_lst} # 将分组结果转换为字典
return result
# 示例输入
lst = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig']
# 调用函数进行分组
result = group_by_start_with(lst)
# 输出分组结果
for key, group in result.items():
print(key, ':', group)
输出结果为:
a : ['apple']
b : ['banana']
c : ['cherry']
d : ['date']
e : ['elderberry']
f : ['fig']
在这个示例中,我们使用了sorted
函数将列表按照字母顺序排序。然后,使用itertools.groupby
函数将排序后的列表按照元素的起始字母进行分组。最后,将分组结果转换为字典,并打印输出。