gpt4 book ai didi

python - 相当于 Python 中的 Lambda 表达式

转载 作者:行者123 更新时间:2023-11-28 21:25:56 24 4
gpt4 key购买 nike

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

我通常使用列表理解:

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

或者有时更实用一些:

list_of_words = map(lambda x: "".join(x), lists_of_letters)

我想知道是否有比使用 lambda 表达式更好的方法来编写映射调用所需的函数。我正在努力学习 operatorfunctools扩展我的 python 函数式编程技巧,但在这种情况下我似乎找不到使用它们的明确方法。

最佳答案

在这种情况下,您实际上可以说 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 本身是一个接受单个参数的函数(空字符串上的绑定(bind)方法):

In [3]: ''.join
Out[3]: <built-in method join of str object at 0x100258620>

也就是说,这里它本身可能不会更好,因为它在 IMO 上的可读性差一些

关于python - 相当于 Python 中的 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13667262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com