Python基础小知识问答系列-过滤列表元素

1. 问题:

  •         如何根据单一条件过滤列表的元素?
  •         如何根据复杂条件过滤列表的元素?

2. 解决方式:

        可以使用推导式生成器,进行单一条件的列表元素过滤,尤其是列表内容较多时;

        也可以使用filter函数进行列表过滤,尤其是需要自定义较为复杂的过滤条件。

  • 示例:


test_list = [1, 3, 6, 2, 9, 10, 4, 23, 100, 39, 91]
test_list_multi = [1, 3, "青果", 2, 9, "test", 23, 100, "NA", 91]

# 推导式生成器方式
result_info = (item for item in test_list if item > 50)
print("****推导式生成器方式,过滤列表内容的结果是:")
print(list(result_info))

# filter函数方式
filter_list = filter(lambda x: x > 50, test_list)
print("****filter函数,使用简单条件,过滤列表内容的结果是:")
print(list(filter_list))


def filter_number(args):
    try:
        int(args)
        return True
    except ValueError:
        return False


print("****filter函数,自定义复杂条件函数,过滤列表内容的结果是:")
print(list(filter(filter_number, test_list_multi)))
  • 示例结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值