Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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_Lambda - Fatal编程技术网

Python 你怎么解释这个代码?库瑟拉·兰姆达蟒蛇

Python 你怎么解释这个代码?库瑟拉·兰姆达蟒蛇,python,lambda,Python,Lambda,我正在上Coursera的课程,但我不太了解lambda的工作原理。。。如果有人能告诉我这个例子,我会很感激的,谢谢 people = ['Dr. Christopher Brooks', 'Dr. Kevyn Collins-Thompson', 'Dr. VG Vinod Vydiswaran', 'Dr. Daniel Romero'] def split_title_and_name(person): return person.split()[0] + ' ' + pers

我正在上Coursera的课程,但我不太了解lambda的工作原理。。。如果有人能告诉我这个例子,我会很感激的,谢谢

people = ['Dr. Christopher Brooks', 'Dr. Kevyn Collins-Thompson', 'Dr. VG Vinod Vydiswaran', 'Dr. Daniel Romero']


def split_title_and_name(person):
    return person.split()[0] + ' ' + person.split()[-1]

#option 1
for person in people:
    print(split_title_and_name(person) == (lambda x: x.split()[0] + ' ' + x.split()[-1])(person))

#option 2
list(map(split_title_and_name, people)) == list(map(lambda person: person.split()[0] + ' ' + person.split()[-1], people))

我想你的意思是专注于

(lambda x: x.split()[0] + ' ' + x.split()[-1])(person)
所以让我们把它分解一下

首先。。。函数的内容

  • x.split()
  • x.split();大概是姓吧
  • 现在,lambda可以自己运行了

  • lambda x
    |使用一个参数声明函数:
    x
  • (lamda x:…)(person)
    |调用传递
    person
    作为x参数的函数


  • lambda person:person.split()[0]+''+person.split()[-1]
    是相同的,只是它只是使用
    person
    作为参数。

    ???你需要什么帮助我不太清楚它是怎么工作的。。。我的意思是,在选项1中,我认为x等于人的“person”变量,对吗?它是有效的,但我不太明白如何。。。谢谢你能告诉我们问题是什么吗?首先,我们甚至不知道代码在没有看到需求的情况下是否工作。代码工作,这是coursera给出的解决方案,但我不太理解lambda函数在这种情况下是如何工作的…嗨,你能解释为什么lambda person:person.split()[0]+''+person.split()[-1]不会给出与(lambda x:x.split()[0]+''+x.split()[-1])(person)相同的结果?