Beispiel #1
0
#     获取具有生命值的对象总数
#     获取攻击速度小于20的敌人总数
result = ListHelper.count(L, lambda enemy: enemy.hp > 0)
print(result)
result = ListHelper.count(L, lambda enemy: enemy.atk_speed < 20)
print(result)

# 解决的问题:判断列表中是否包含某个元素
#     获取列表中是否具有死人
#     获取列表中是否具有攻击速度大于10的敌人
result = ListHelper.include(L, lambda enemy: enemy.hp == 0)
print(result)
result = ListHelper.include(L, lambda enemy: enemy.atk_speed > 10)
print(result)

#删除所有死人
# ListHelper.del_all(L,lambda enemy : enemy.hp == 0)
# print(L)
#删除编号是101的敌人
# ListHelper.del_all(L,lambda enemy : enemy.id == 101)
# print(L)

#获取血量最大的敌人
result = ListHelper.get_max(L, lambda enemy: enemy.atk_speed)
print(result)

print(L)
ListHelper.order_by(L, lambda enemy: enemy.atk_speed)
print(L)
ListHelper.order_by_descending(L, lambda enemy: enemy.atk_speed)
print(L)
Beispiel #2
0
#
# def xxx(item):
#     return item.hp

max = ListHelper.get_max(list01, lambda e: e.hp)
print(max.name)

# 练习:14:45
# 解决的问题:根据指定条件升序排列列表
# 按照血量升序排列
# 按照攻击力升序排列
# def demo01(target):
#     for r in range(len(target)-1):
#         for c in range(r+1,len(target)):
#             # if target[r].hp > target[c].hp:
#             if xxx(target[r]) > xxx(target[c]):
#                 target[r],target[c] = target[c],target[r]
#
# def demo02(target):
#     for r in range(len(target)-1):
#         for c in range(r+1,len(target)):
#             if target[r].atk > target[c].atk:
#                 target[r],target[c] = target[c],target[r]
#
# def xxx(item):
#     return item.hp

ListHelper.order_by(list01, lambda e: e.hp)
for item in list01:
    print(item.hp)