2013-06-07 17 views
8

Bardzo często używam następującą konstrukcję:Jak sprawić, by try-except-KeyError był krótszy w pythonie?

try: 
    x = d[i] 
except KeyError: 
    x = '?' 

Czasami instread z '?' Używam 0 lub None. Nie podoba mi się ta konstrukcja. To jest zbyt szczegółowe. Czy istnieje krótszy sposób robienia tego, co robię (tylko w jednej linii). Coś jak.

x = get(d[i],'?') 
+2

Miałeś go niemal dokładnie prawo w Pseudokod – jamylak

Odpowiedz

18

Szukasz następująco:

x = d.get(i, '?') 
+2

Coś * jak *, że albo * dokładnie * to? ;) – jamylak

+2

@jamylak To jest najprostsza myśl, która przyszła mi do głowy, aby tekst był wystarczająco długi, aby opublikować go. – kirelagin

+2

Wiem, tylko z tobą rozmawiam – jamylak

Powiązane problemy