压缩并在Python中的值列表上应用函数列表
是否有惯用和/或精美的Python用于在值列表上压缩 和应用 功能列表?
例如,假设您有一个功能列表:
functions = [int, unicode, float, lambda x: '~' + x + '~']
以及值列表:
values = ['33', '\xc3\xa4', '3.14', 'flange']
有没有一种方法可以将ith函数应用于ith值并返回转换后的值的相同长度的列表,同时又避免了这种难看的列表理解?
[functions[i](values[i]) for i in range(len(functions))] # <- ugly
我想要的是类似zip()
+
map()
(zipmap()
!)的函数列表和值列表,并将这些函数应用于它们的配对值。我以为itertools
可能提供了一些相关的东西,但是类似imap
和的函数starmap
用于将一个函数映射到一个可迭代对象上,而不是将一个可迭代函数映射到另一个可迭代对象上。