我有两个体育运动员名单。一个是简单的结构:
['Lastname, Firstname', 'Lastname2, Firstname2'..]
第二个是结构清单列表:
[['Firstname Lastname', 'Team', 'Position', 'Ranking']...]
我最终想要搜索第二个列表的内容,并在第一个列表中有匹配的名称时提取信息。
我需要将'姓氏,名字'换成'名字姓氏'以匹配列表2的格式以简化。
任何帮助都会很棒。谢谢!
答案 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']