比较二维列表对象

2024-10-01 02:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定是否有人问过这个问题,但我找不到任何帮助。 我正在构建一个游戏,其中有一个二维的对象列表,让我们称它们为inventoryloot。我需要比较一下,看看我已经有了哪些。项目是一个列表,我们有名称,金额和描述。你知道吗

我在想

ownd = []
for item in self.inv:
    if item[0].name in loot:
        ownd.append(item)

但是,我应该比较inv中的项目[0]和项目[0],但是我有一个大脑障碍或其他原因,我不知道如何做。谁能帮我一下,或者把我推到正确的方向。谢谢!!你知道吗

我知道你们中的一些人可能会认为这是一个愚蠢的简单问题,但严重的是,我卡住了,需要帮助!你知道吗

编辑:

类中的更多代码:

class Inventory(object):

    inv = []

    def __init__(self, name):
        self.ownr = name
        self.loc = "player_data/" + name

    def add_item(self, item, amount):
        for obj in self.inv:
            if obj[0].name == item.name:
                obj[1] = obj[1] + amount
                return 1                       
        self.inv.append([item, amount])
        return 0

    def compare_to_loop(self, loot, amount):
        ownd = []
        for item in self.inv:
            if item[0].name in loot:
                ownd.append(item)
        return ownd

Tags: 项目nameinselfobjforreturnif
1条回答
网友
1楼 · 发布于 2024-10-01 02:25:05

如果我正确理解你的问题,你必须列出库存和战利品,你想建立一个新的清单拥有的所有元素,你可以找到在两个清单在同一位置?你知道吗

那么这应该管用

inv = [1, 2, 3, 4, 5]
loot = [2, 1, 3, 4, 6]
owned = [i for i, l in zip(inv, loot) if i == l]

在这个例子中,owned应该是[3,4]?你知道吗

相关问题 更多 >