SORU
21 EYLÜL 2009, PAZARTESİ


İki şekilde ters göster/

Kim kime, eğer öyleyse -- ^ Alice konuşuyor izlemek lazım python bu santral işi yapıyorum . Bob, Bob ^ -- anlamına gelir . Alice.

Evet, iki karma haritalar doldurmak olabilir, ama eğer biri ile bunu yapmak için bir fikir var mı merak ediyorum.

Ya da başka bir veri yapısı öneririz.

Birden fazla görüşme yok. Hadi bu Müşteri Hizmetleri çağrı merkezi ki, Alice santrali aradığında, sadece Bob ile konuşmaya gidiyor. Cevaplarını da sadece onunla gidin.

CEVAP
7 Kasım 2012, ÇARŞAMBA


dict sınıflara ve istediğiniz mantık ekleyerek kendi sözlük türü oluşturabilirsiniz. Burada temel bir örnek:

class TwoWayDict(dict):
    def __setitem__(self, key, value):
        # Remove any previous connections with these values
        if key in self:
            del self[key]
        if value in self:
            del self[value]
        dict.__setitem__(self, key, value)
        dict.__setitem__(self, value, key)

    def __delitem__(self, key):
        dict.__delitem__(self, self[key])
        dict.__delitem__(self, key)

    def __len__(self):
        """Returns the number of connections"""
        return dict.__len__(self) // 2

Ve bu gibi çalışır:

>>> d = TwoWayDict()
>>> d['foo'] = 'bar'
>>> d['foo']
'bar'
>>> d['bar']
'foo'
>>> len(d)
1
>>> del d['foo']
>>> d['bar']
Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
KeyError: 'bar'

Tüm vakalara bakmak istemedim eminim, ama bu başlangıç için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • thewinekone

    thewinekone

    17 Aralık 2005
  • VOICE TV

    VOICE TV

    2 Aralık 2010