将姓氏,姓名切换为列表中的名字姓氏

时间:2013-03-29 14:09:53

标签: python python-2.7

我有两个体育运动员名单。一个是简单的结构:

['Lastname, Firstname', 'Lastname2, Firstname2'..]

第二个是结构清单列表:

[['Firstname Lastname', 'Team', 'Position', 'Ranking']...]

我最终想要搜索第二个列表的内容,并在第一个列表中有匹配的名称时提取信息。

我需要将'姓氏,名字'换成'名字姓氏'以匹配列表2的格式以简化。

任何帮助都会很棒。谢谢!

1 个答案:

答案 0 :(得分:6)

您可以使用以下命令交换名称列表中的顺序:

[" ".join(n.split(", ")[::-1]) for n in namelist]

解释:这是一个列表理解,可以对每个项目执行某些操作。以下是一些中间版本以及它们将返回的内容:

namelist = ["Robinson, David", "Roberts, Tim"]
# split each item into a list, around the commas:
[n.split(", ") for n in namelist]
# [['Robinson', 'David'], ['Roberts', 'Tim']]

# reverse the split up list:
[n.split(", ")[::-1] for n in namelist]
# [['David', 'Robinson'], ['Tim', 'Roberts']]

# join it back together with a space:
[" ".join(n.split(", ")[::-1]) for n in namelist]
# ['David Robinson', 'Tim Roberts']