使用一系列一元函数将可迭代项转换为可迭代项
我经常发现自己需要将一系列一元函数应用于相同长度的序列。我的第一个想法是使用 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()])
是否有一些标准库或其他好的实现可以巧妙地执行这样的转换?
I frequently find myself needing to apply a sequence of unary functions to a sequence of of the same length. My first thought is to go with map()
, however this only takes a single function to be applied to all items in the sequence.
In the following code for example, I wish to apply str.upper()
to the first item, and int
to the second item in each a
. "transform
" is a place holder for the effect I'm after.
COLS = tuple([transform((str.upper, int), a.split(",")) for a in "pid,5 user,8 program,28 dev,10 sent,9 received,15".split()])
Is there some standard library, or other nice implementation that can perform a transformation such as this neatly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
那……呢:
What about...:
我目前正在使用这个:
I'm currently using this: