我有两个运动员列表。一个结构简单:
['Lastname, Firstname', 'Lastname2, Firstname2'..]
第二个是一个列表的列表结构:
[['Firstname Lastname', 'Team', 'Position', 'Ranking']...]
我最终想搜索第二个列表的内容,如果从第一个列表中有匹配的名称,则提取信息。
我需要交换'Lastname, Firstname'到'Firstname Lastname'来匹配列表2的简化格式。
任何帮助都太好了。谢谢!
您可以使用:
交换名称列表中的顺序:[" ".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']