相当于Python中的Lambda表达式

2021-01-26 10:24:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我执行的一个常见操作是将字母列表连接到单词(字符串)列表中。在

我通常使用列表理解法:

lists_of_letters = [["m", "y"], ["d", "o", "g"], ["s", "k", "i", "p"]]
list_of_words = ["".join(a_list_of_letters) for a_list_of_letters in lists_of_letters]
# list_of_words == ["my", "dog", "skip"]

或者有时候功能性更强一点:

^{2}$

我想知道是否有比使用lambda表达式更好的方法来编写map调用所需的函数。我试图学习operator和{a2}来扩展我的python函数式编程技巧,但是我似乎找不到一个清晰的方法来使用它们。在

2条回答
网友
1楼 ·

这里不需要lambda函数:

In [26]: map("".join, lists_of_letters)
Out[26]: ['my', 'dog', 'skip']
网友
2楼 ·

在这种情况下,您实际上可以说map(''.join, lists_of_letters)

In [1]: lists_of_letters = [["m", "y"], ["d", "o", "g"], ["s", "k", "i", "p"]]
In [2]: map(''.join, lists_of_letters)
Out[2]: ['my', 'dog', 'skip']

因为''.join本身是一个接受单个参数的函数(空字符串上的绑定方法):

^{pr2}$

也就是说,在这里,它本身可能不是更好的,因为在我看来,它的可读性有点低

相关问题