python如何设计工具类_Python基础之自定义工具类

classListHelper:

@staticmethoddeffind_all(target, func_condition):"""查找列表中满足条件的所有元素

:param target: 列表

:param func_condition: 条件

函数/方法类型

-- 参数:列表中的元素

-- 返回值:是否满足条件bool值

:return:"""

for item intarget:iffunc_condition(item):yielditem

@staticmethoddeffirst(target, func_condition):"""查找列表中满足条件的第一个元素

:param target:

:param func_condition:

:return:"""

for item intarget:iffunc_condition(item):returnitem

@staticmethoddefselect(target, func_condition):"""筛选列表中指定条件的数据

:param target:

:param func_condition:

:return:"""

for item intarget:#yield xxx(item)

yieldfunc_condition(item)

@staticmethoddefsum(target, func_condition):"""计算列表中指定条件的所有元素和

:param target:

:param func_condition:

:return:"""sum_value=0for item intarget:#sum_value += xxx(item)

sum_value +=func_condition(item)returnsum_value

@staticmethoddeflast(target,func_condition):"""查找满足条件的最后一个对象

:param target:

:param func_condition:

:return:"""

for i in range(len(target) - 1,-1,-1):#if xxx(list01[i]):

iffunc_condition(target[i]):returntarget[i]

@staticmethoddefget_count(target,func_condition):"""获取所有满足条件的对象总数

:param target:

:param func_condition:

:return:"""count_value=0for item intarget:iffunc_condition(item):

count_value+= 1

returncount_value

@staticmethoddefexists(target,func_condition):"""判断是否包含满足条件的对象

:param target:

:param func_condition:

:return:"""

for item intarget:iffunc_condition(item):returnTruereturnFalse

@staticmethoddefdelete_all(target,func_condition):"""删除满足条件的所有对象

:param target:

:param func_condition:

:return:"""del_count=0for i in range(len(target) - 1,-1,-1):iffunc_condition(target[i]):deltarget[i]

del_count+= 1

returndel_count

@staticmethoddefget_max(target,func_condition):"""获取指定条件的最大对象(第一个)

:param target:

:param func_condition:

:return:"""max_value=target[0]for i in range(1, len(target)):#if max_value.hp < target[i].hp:

if func_condition(max_value)

max_value=target[i]returnmax_value

@staticmethoddeforder_by(target,func_condition):"""根据指定条件升序排列

:param target:

:param func_condition:

:return:"""

for r in range(len(target)-1):for c in range(r+1,len(target)):#if target[r].hp > target[c].hp:

if func_condition(target[r]) >func_condition(target[c]):

target[r],target[c]=target[c],target[r]

@staticmethoddefget_min(target, func_condition):"""获取指定条件的最小对象(第一个)

:param target:

:param func_condition:

:return:"""min_value=target[0]for i in range(1, len(target)):#if min_value.hp > target[i].hp:

if func_condition(min_value) >func_condition(target[i]):

min_value=target[i]returnmin_value

@staticmethoddeforder_by_descending(target,func_condition):"""根据指定条件降序排列

:param target:

:param func_condition:

:return:"""

for r in range(len(target)-1):for c in range(r+1,len(target)):if func_condition(target[r])

target[r],target[c]= target[c],target[r]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值