【发布时间】:2011-01-13 08:49:06
【问题描述】:
我经常发现自己需要将一元函数序列应用于相同长度的序列。我的第一个想法是使用map(),但是这只需要一个函数即可应用于序列中的所有项目。
例如,在下面的代码中,我希望将str.upper() 应用于每个a 中的第一项,并将int 应用于第二项。 “transform”是我想要的效果的占位符。
COLS = tuple([transform((str.upper, int), a.split(",")) for a in "pid,5 user,8 program,28 dev,10 sent,9 received,15".split()])
是否有一些标准库或其他很好的实现可以巧妙地执行这样的转换?
【问题讨论】:
-
这个问题没有错,但我会为此挥霍并购买额外的代码行。在第 1 行拆分记录及其字段,在第 2 行完成整理。换句话说,您选择的因素不是我会选择的。
标签: python map transform predicate unary-function