-3

メソッドをオーバーライドする UList という名前の UserList の下に新しいクラスを作成しました__add__。重複した項目をリストに追加することはできません。しかし、実行しようとすると、期待した結果が得られません。

from collections import UserList

class UList(UserList):
  def append(self,ap_item):
    for ap in ap_item:
        if ap in self:
          raise ValueError(repr(ap) + " already exists in list")
        else:
          return UserList.append(self, ap_item)
  def __add__(self,ad_item):
    for ad in ad_item:
        if ad in self:
          raise ValueError(repr(ad) + " already exists in list")
        else:
          return UserList.__add__(self,ad_item)
  def extend(self, ex_item):
    for ex in ex_item:
        if ex in self:
          raise ValueError(repr(i) + " already exists in list")
        else:
          return UserList.extend(self,ex_item)

このメソッドを正しく実行するにはどうすればよいですか?

4

1 に答える 1