【发布时间】:2015-12-19 18:22:34
【问题描述】:
Python 标准库是否具有返回索引 0 处的值的函数?换句话说:
zeroth = lambda x: x[0]
我需要在像map() 这样的高阶函数中使用它。我问是因为我相信使用可重用函数而不是定义自定义函数更清楚 - 例如:
pairs = [(0,1), (5,3), ...]
xcoords = map(funclib.zeroth, pairs) # Reusable
vs.
xcoords = map(lambda p: p[0], pairs) # Custom
xcoords = [0, 5, ...] # (or iterable)
我也问,因为 Haskell 确实有这样一个函数 Data.List.head,它作为高阶函数的参数很有用:
head :: [a] -> a
head (x:xs) = x
head xs = xs !! 0
xcoords = (map head) pairs
【问题讨论】:
-
永远不要要求图书馆,这是题外话。我已经编辑了错误区域。下次小心点。
-
在语言自己的标准库中请求函数有什么问题?
-
我将进一步编辑这个问题以反映我的初衷。
-
为了记录,原始问题的措辞方式没有任何问题。显示当前正在使用的代码并询问是否有使用标准库中工具的惯用方法。
-
我现在很困惑,所以我在 meta 上问了一个关于这个的问题。感谢@Nayuki 帮助我消除了困惑。
标签: python list dictionary lambda