python中等于列表的某一个值为真_在列表中查找属性等于某个值(满足任何条件)的对象...

因为它并不是为了完成而被提及的。

好的ol'过滤器过滤你要过滤的元素。

功能编程ftw。####### Set Up #######

class X:

def __init__(self, val):

self.val = val

elem = 5

my_unfiltered_list = [X(1), X(2), X(3), X(4), X(5), X(5), X(6)]

####### Set Up #######

### Filter one liner ### filter(lambda x: condition(x), some_list)

my_filter_iter = filter(lambda x: x.val == elem, my_unfiltered_list)

### Returns a flippin' iterator at least in Python 3.5 and that's what I'm on

print(next(my_filter_iter).val)

print(next(my_filter_iter).val)

print(next(my_filter_iter).val)

### [1, 2, 3, 4, 5, 5, 6] Will Return: ###

# 5

# 5

# Traceback (most recent call last):

# File "C:\Users\mousavin\workspace\Scripts\test.py", line 22, in

# print(next(my_filter_iter).value)

# StopIteration

# You can do that None stuff or whatever at this point, if you don't like exceptions.

我知道通常在python中,首选或至少是理解

这是我读到的,但我不认为这个问题是诚实的。当然,Python不是FP语言,但是Map/Reduce/Filter是完全可读的,并且是函数式编程中最标准的用例。

那就这样。了解你的函数式编程。

筛选条件列表

再简单不过了:next(filter(lambda x: x.val == value, my_unfiltered_list)) # Optionally: next(..., None) or some other default value to prevent Exceptions

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值