Учитывая следующие методы из класса (извините, имена на немецком языке), но главный вопрос заключается в том, почему я получаю ошибку при вызове метода listeEntfernen с liste_links = self.listeEntfernen(self.gewichte, list[x]). Я получаю сообщение об ошибке: TypeError: unbound method list.copy () требует аргумента. Я уже пробовал переключать и удалять ключевое слово self и пробовал вызывать функцию из класса, но не понимаю, почему он не использует list[x] в качестве параметра для liste2 в listeEntfernen() метод. Спасибо за помощь!

   def linkeSeite(self, ziel):
    erg_links = []
    erg_rechts = []
    laenge_k_rechts = 1
    laenge_k_links = 1

    while not erg_rechts:
        komb_rechts = itertools.combinations(self.gewichte, laenge_k_rechts)
        if laenge_k_rechts > len(self.gewichte) or ziel > sum(self.gewichte):
            return
        for x in komb_rechts:
            if sum(x) <= ziel:
                continue
            while not erg_links:
                liste_links = self.listeEntfernen(self.gewichte, list[x])
                komb_links = itertools.combinations(liste_links, laenge_k_links)
                if (sum(x) - ziel) in liste_links:
                    erg_links = sum(x) - ziel
                    erg_rechts = x
                    break
                for y in komb_links:
                    if sum(x) - ziel == sum(y):
                        erg_links = y
                        erg_rechts = x
                        break
            laenge_k_links += 1
    laenge_k_rechts += 1
    return [erg_links, erg_rechts]

def listeEntfernen(self, liste1, liste2):
    erg_liste = []
    liste2_kopie = liste2.copy()
    for i in liste1:
        if i not in liste2_kopie:
            erg_liste.append(i)
            continue
        liste2_kopie.remove(i)
    return erg_liste
-1
Daniel P 28 Ноя 2021 в 03:58

1 ответ

Лучший ответ

Неясно, какова цель list[x]. У вас нет переменной list, поэтому list все еще встроен в объект, так что, возможно, вы намереваетесь list(x).

0
Addlestrop 28 Ноя 2021 в 04:09
Ого, я такой тупой. Большое спасибо. Не могу поверить, что я потратил 30 минут, пытаясь понять, что было неправильным в том, что это были неправильные скобки.
 – 
Daniel P
28 Ноя 2021 в 04:16