def count(self, value): """Returns the count of a card or integer rank in the card list.""" if isinstance(value, Card): cnt, index = 0, value.index() for card in self._cards: if card.index() == index: cnt += 1 return cnt elif isinstance(value, int) or isinstance(value, basestring): cnt, value = 0, get_rank_integer(value) for card in self._cards: if card.rank() == value: cnt += 1 return cnt else: return 0
def index(self, value): """Returns the index in the card list of the first item whose value is 'value'. """ if isinstance(value, Card): for idx, card in enumerate(self._cards): if card.index() == value.index(): return idx raise ValueError("Card.index(x): x not in Card") elif isinstance(value, int) or isinstance(value, basestring): value = get_rank_integer(value) for idx, card in enumerate(self._cards): if card.rank() == value: return idx raise ValueError("Card.index(x): x not in Card") else: raise ValueError("Card.index(c): x not in Card")