首页 > 解决方案 > 争论作者全名到出版类型(全名,名字首字母)

问题描述

我在数据集中有一列,其中包含以下作者的全名、姓氏、名字;

Input:
Makarenko, Iuliia; Mazhnaya, Alyona; Marcus, Ruthanne; Pykalo, Iryna; Madden, Lynn; Filippovich, Sergii; Dvoriak, Sergii; Altice, Frederick L.

我想对字符串进行排序,以便具有以下姓氏,名字的拳头首字母;

Makarenko I, Mazhnaya A, Marcus R, Pykalo I, Madden L, Filippovich S, Dvoriak S, Altice FL

我试图在 `.split(";") 上拆分字符串,现在只想从名字中选择第一个字符以与姓氏保持一致,我不知道我应该使用字符串还是列表方法不过要做到这一点。

标签: pythonstringlist

解决方案


遵循以下内容就足够了。从“;”开始拆分是正确的。然后,您可以在列表理解中将名称进一步拆分为第一个和最后一个。这将创建一个列表列表。然后我们可以按姓氏排序并打印出我们想要的结果。

names = [name.split(", ") for name in input_string.split(";")]
names.sort(key=lambda name:name[1])
print(", ".join(["{last} {initial}".format(last=name[1], initial=name[0][0]) for name in names]))

推荐阅读