4

我有两个运动员名单。一个结构简单:

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

第二个是结构化的列表列表:

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

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

我需要将 'Lastname, Firstname' 交换为 'Firstname Lastname' 以匹配列表 2 的格式以进行简化。

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

4

1 回答 1

9

您可以将名称列表中的顺序交换为:

[" ".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']
于 2013-03-29T14:12:02.933 回答