Python 函数可切换名字和姓氏的顺序
这就是我想要的。我想我可以使用Python 函数可切换名字和姓氏的顺序,python,function,loops,reverse,Python,Function,Loops,Reverse,这就是我想要的。我想我可以使用len函数,但是除了颠倒列表顺序之外,我找不到任何东西可以迭代每个项目 输入列表:['Tony Hawk','Rose Will','Humpty Dumpty','Jill Mark'] 输出列表:['Hawk Tony','Will Rose','Dumpty Humpty','Mark Jill']对于列表中的每个元素,在空格上拆分,反转,然后在空格上重新连接: def反向_名称(l): 返回[“”.join(反转(x.split(“”))表示l中的x] 打印
len
函数,但是除了颠倒列表顺序之外,我找不到任何东西可以迭代每个项目
输入列表:['Tony Hawk','Rose Will','Humpty Dumpty','Jill Mark']
输出列表:
['Hawk Tony','Will Rose','Dumpty Humpty','Mark Jill']
对于列表中的每个元素,在空格上拆分,反转,然后在空格上重新连接:
def反向_名称(l):
返回[“”.join(反转(x.split(“”))表示l中的x]
打印(姓名的反面(['Tony Hawk','Rose Will','Humpty Dumpty','Jill Mark']))
#['Hawk Tony'、'Will Rose'、'Dumpty Humpty'、'Mark Jill']
您可以使用以下for循环:
result = []
for first_name, last_name in map(str.split, lst):
result.append(last_name + " " + first_name)
或同等标准:
输出
['Hawk Tony', 'Will Rose', 'Dumpty Humpty', 'Mark Jill']
这些步骤是:
map(str.Split,lst)
使用和last\u name+“”+first\u name
(或f'{last\u name}{first\u name}
)地图
,但我个人觉得这个选项更麻烦:
result = [f'{last_name} {first_name}' for first_name, last_name in (s.split() for s in lst)]
用通俗易懂的英语解释你将如何一步一步地解决这个问题。我需要颠倒名字和姓氏的顺序。例如,输入是“Tony Hawk”,输出应该是“Hawk Tony”。是的,我完全理解问题描述。你需要把它分解成更小的步骤来解决这个问题。例如,当您查看
Tony Hawk
时,您如何知道Tony
是“名字”而Hawk
是“姓氏”?例如,为什么名字不是Tony Ha和姓氏不是wk?你只是在陈述要求(你希望结果是什么)。我们知道这些@KarlKnechtel正在询问您将采取哪些步骤来解决问题。作为程序员,你应该做的事情。像迭代列表中的名称一样,在空格字符上拆分它们,交换第一个和最后一个值,用空格重新连接它们。差不多吧。非常感谢你!!这很有效。无论出于什么原因,当我试图运行反向函数时,它不会识别它,我不确定我做错了什么。再次感谢。关键是这是颠倒每个元素,而不是整个列表。
result = [f'{last_name} {first_name}' for first_name, last_name in (s.split() for s in lst)]