例如,给定数组a = [“一个”,“两个”,“三个”,“四个”],我可以使用像这样的lambda函数将其全部打印出来
background-image: url("../../assets/img/misc/wave.png");
但是如果我只想输出偶数索引,我可以使用类似的方法解决它
print((lambda x:x)(a))
我的输出
print([x for i,x in enumerate(a) if i%2==0])
但是如何使用lambda函数获得相同的输出?
答案 0 :(得分:-1)
尝试一下:
result = list(filter(lambda x: (x == "one" or x =="three"), my_list))
print(result)
基本上,filter函数过滤掉在lambda中返回false的列表中的所有项目,因此您可以通过替换第二部分来过滤掉所有内容。
答案 1 :(得分:-1)
您可以使用operator.itemgetter
解决此问题。
>>> a = ["one", "two", "three", "four"]
>>> from operator import itemgetter
>>> itemgetter(0, 2)(a)
("one", "three")
itemgetter
是考虑将lambda表达式从Python 3000(该语言最终以Python 3发行)中删除时引入的功能之一。旨在取代像
lambda
的需求
>>> (lambda x: (x[0], x[2]))(a)
("one", "three")
同时效率也更高。