Python如何从「名 姓」格式字符串列表生成对应字典,可单行实现吗
回答
完全可以实现,以下是两种可行的单行Python实现方案:
方案1:易读性优先,适合入门理解
dct = {'first': [item.split()[0] for item in lst], 'last': [item.split()[1] for item in lst]}
逻辑就是遍历列表每个元素,按空格切分后分别取第一个值作为first列表元素、第二个值作为last列表元素。
方案2:性能优先,避免每个元素重复切分两次
dct = dict(zip(('first', 'last'), map(list, zip(*map(str.split, lst)))))
逻辑是先对所有元素执行空格切分,再通过zip(*)做行列转置,分别拿到所有名、所有姓的集合,最后和key做映射转成字典。
内容的提问来源于stack exchange,提问作者vivek mahajan
相关产品推荐
相关产品推荐

