26 ŞUBAT 2011, CUMARTESİ
Neden listesi't güvenli "al" sözlük gibi yöntem değil mi?
>>> d = {'a':'b'}
>>> d['a']
'b'
>>> d['c']
KeyError: 'c'
>>> d.get('c', 'fail')
'fail'
>>> l = [1]
>>> l[10]
IndexError: list index out of range
CEVAP
26 ŞUBAT 2011, CUMARTESİ
Sonuçta muhtemelen yok kasa .get
yöntem çünkü dict
ilişkilendirilebilir koleksiyonu değerleri ile ilişkili isimler) nereye verimsiz kontrol edin eğer bir anahtar varsa (ve dönüş) olmadan atma bir istisna olsa süper önemsiz önlemek için istisnalar erişme liste öğeleri (len
yöntem çok hızlı). .get
yöntemi bir değer adı ile ilişkilendirilmiş sorgu, doğrudan sözlüğünde 37 öğe listenizi istediğin ne olabilir ki () erişim sağlar.
Tabii ki, kolayca kendiniz uygulayabilirsiniz:
def safe_list_get (l, idx, default):
try:
return l[idx]
except IndexError:
return default
__main__
__builtins__.list
kurucu üzerine monkeypatch olabilir ama çoğu kod kullanmaz beri daha az yaygın bir değişiklik olurdu. Eğer sadece listeleri kendi kodu tarafından oluşturulan bu kullanmak istedim sadece list
alt get
yöntemi ekleyebilirsiniz.
Bunu Paylaş:
Neden't "cd" bir parti ...
Neden anahtar kelime "son" J...
Bu "yeterli" rasgele algorit...
Neden &; son" Java 8 arabirim yön...
Neden Python's "Ekle" d...