Я не уверен, было ли это задано раньше, но я не нашел никакой помощи. Я создаю игру, в которой у меня есть два отдельных списка объектов, позволяет называть их inventory
и loot
. Мне нужно сравнить их и посмотреть, какие из них у меня уже есть. Элемент - это список, в котором у нас есть имя, количество и описание.Сравнение объектов двумерного списка
я что-то вроде
ownd = []
for item in self.inv:
if item[0].name in loot:
ownd.append(item)
Однако думать, я должен сравнить элемент [0] для пункта [0] в инв, но у меня есть brainblock или что-то, потому что я не могу понять, как это сделать , Может ли кто-нибудь помочь или подтолкнуть меня к правильному направлению. Благодаря!!
пс. Я знаю, что некоторые из вас видят это как глупый легкий вопрос, но серьезно я застрял и нуждаюсь в помощи!
EDIT:
Больше код из класса:
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
где находится 'self'? Вы можете опубликовать несколько примеров структур данных 'inv' и' loot'? –
Как вы хотите сравнить внутренние списки? Определенным элементом или всеми из них? – RobertR
Заметил, что я скопировал деталь неправильно, теперь она исправлена. Что бы я хотел сделать, это сравнить имена и выбрать те элементы с тем же именем в списке ownd – Duzzz