【问题标题】:Apply multiple functions to multiple lists将多个函数应用于多个列表
【发布时间】:2021-08-09 15:03:25
【问题描述】:
a=[2,1,3]
b=[4,2,3]
c=[5,4,6]
....

a=set(sorted(map(lambda x: pow(x,3), a)))

如何将相同的函数序列:set()sorted()pow() 应用到多个列表 abc... 上面而不重复 x=set(... n 次使用maplambda(或任何其他更高效的代码)?

我知道我们可以使用像我自己的答案 below 这样的循环。

但是如果我们想进一步抽象这个任务,那么给定的函数列表 [f1, f2, f3, f4] 可以应用于大量类似格式的列表 abc ? (itertools可以用于任务吗?)

【问题讨论】:

  • 使用循环? for lst in [a,b,c]: ...????
  • 这没有任何意义,因为pow([2,1,3],3)TypeError,你不能在列表中使用pow,它需要一个数字
  • 更新了问题。
  • 好吧,然后遍历列表。
  • 哦,我明白了。谢谢。

标签: python-3.x iterable


【解决方案1】:
a=[2,1,3]
b=[4,2,3]
c=[5,4,6]

new=[]
for lst in [a,b,c]:
    new.append(set(sorted(map(lambda x: pow(x,3), lst))))

a,b,c = new

正如上面 cmets 中 @juanpa.arrivillaga 所建议的,可以使用循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-09
    • 2022-10-14
    • 2015-06-19
    相关资源
    最近更新 更多