Python 你怎么解释这个代码?库瑟拉·兰姆达蟒蛇
我正在上Coursera的课程,但我不太了解lambda的工作原理。。。如果有人能告诉我这个例子,我会很感激的,谢谢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
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 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)相同的结果?