如何检查然后取出列表项的一部分?

时间:2018-08-02 08:20:22

标签: python python-3.x

我正在尝试使用Python3在我的游戏中制作设备系统,该系统通常运行良好,但是可计数的值存在小问题-虽然普通物品可以单独存储,但是像金钱这样的东西绝对不能。我制作了添加脚本的脚本,但仍然缺少一件事。

所以,我们有一个列表:

chest = ["500 $","shotgun","book","whatever else"]

问题是:如何检查chest列表中是否有$,然后在$字符之前提取值(在上述示例中, 500)?

预先感谢

2 个答案:

答案 0 :(得分:2)

有了列表理解,就很简单:

>>> [int(item.strip(' $')) for item in chest if '$' in item]
[500]

答案 1 :(得分:0)

更好的是,为您的游戏制作一个有金钱和物品属性的Chest类:

class Chest: 

    def __init__(self,money,*items):
        self.money = money
        self.items = list(items)

    def add_item(self,item):
        self.items.append(item)

    def add_money(self,money):
        self.money+=money 

然后,您可以使用一定数量的金钱和物品来初始化箱子

chest = Chest(500,'cat','gold bar','sword')

您可以使用chest.money访问金额。您可以使用chest.items访问项目。您可以添加一个项目:

chest.add_item('aardvark')

要查看它,请运行chest.items。您也可以使用chest.add_money(200)添加200美元。

面向对象的编程:)