展平python中每个键的值
发布时间:2020-12-20 12:34:08 所属栏目:Python 来源:网络整理
导读:我有一个这样的字典: migration_dict = {'30005': ['key42750','key43119','key44103',['key333'],['key444'],['keyxx']],'30003': ['key43220','key42244','key42230',['keyzz'],['kehh']]} 我怎样才能压平每个键的值以便得到类似的东西: migration_dict
我有一个这样的字典:
migration_dict = {'30005': ['key42750','key43119','key44103',['key333'],['key444'],['keyxx']],'30003': ['key43220','key42244','key42230',['keyzz'],['kehh']]} 我怎样才能压平每个键的值以便得到类似的东西: migration_dict = {'30005': ['key42750','key333','key444','keyxx'],'keyzz','kehh']} 解决方法
您可以编写递归函数来展平值列表,并在字典理解中使用它来构建新字典:
def flatten(lst): for x in lst: if isinstance(x,list): for y in flatten(x): # yield from flatten(...) in Python 3 yield y # else: yield x migration_dict = {k: list(flatten(v)) for k,v in dct.items()} print(migration_dict) # {'30005': ['key42750','kehh']} 它处理dict值列表中的任何嵌套深度. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |