Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 函数可切换名字和姓氏的顺序_Python_Function_Loops_Reverse - Fatal编程技术网

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)]