📅  最后修改于: 2023-12-03 15:34:09.408000             🧑  作者: Mango
有时候我们需要将一个包含相同前缀的列表转换成键值对的形式,这时候可以使用Python中的groupby函数和字典进行转换。
from itertools import groupby
def group_list_by_prefix(lst):
result = {}
for key, group in groupby(lst, lambda x: x.split('_')[0]):
result[key] = list(group)
return result
if __name__ == '__main__':
lst = ['name_john', 'age_30', 'name_bob', 'age_22', 'gender_male']
result = group_list_by_prefix(lst)
print(result)
输出结果:
{'name': ['name_john', 'name_bob'], 'age': ['age_30', 'age_22'], 'gender': ['gender_male']}
##解析
from itertools import groupby
groupby(lst, lambda x: x.split('_')[0])
result = {}
for key, group in groupby(lst, lambda x: x.split('_')[0]):
result[key] = list(group)
##总结
这里我们使用Python中内置的groupby函数和字典数据结构,完成将列表分组并转换为字典的任务。这种技巧在数据分析和数据处理中经常用到,需要掌握。