【发布时间】:2021-11-18 03:53:49
【问题描述】:
我有这个字符串列表:
lst = ['vikas mahajan','Rahul shah' , 'xyz abc']
想要的输出:
dct = {'first':['vikas' 'Rahul' 'xyz'],'last':['mahajan','shah','abc']}
解决方案可以是一行代码吗?
【问题讨论】:
标签: python list dictionary data-science
我有这个字符串列表:
lst = ['vikas mahajan','Rahul shah' , 'xyz abc']
想要的输出:
dct = {'first':['vikas' 'Rahul' 'xyz'],'last':['mahajan','shah','abc']}
解决方案可以是一行代码吗?
【问题讨论】:
标签: python list dictionary data-science
你可以使用dict/zip/str.split:
lst = ['vikas mahajan','Rahul shah', 'xyz abc']
dict(zip(('first', 'last'), list(zip(*(e.split(maxsplit=1) for e in lst)))))
输出:
{'first': ('vikas', 'Rahul', 'xyz'), 'last': ('mahajan', 'shah', 'abc')}
或者作为字典理解:
{k: list(v) for k,v in zip(('first','last'), zip(*(e.split(maxsplit=1) for e in lst)))}
输出:
{'first': ['vikas', 'Rahul', 'xyz'], 'last': ['mahajan', 'shah', 'abc']}
【讨论】: