2013-06-07 28 views
8

Rất thường tôi sử dụng xây dựng sau đây:Làm thế nào để thực hiện thử-trừ-KeyError ngắn hơn trong python?

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

Đôi khi, instread của '?' Tôi sử dụng 0 hoặc None. Tôi không thích công trình này. Nó quá dài dòng. Có cách nào ngắn hơn để làm những gì tôi làm (chỉ trong một dòng). Cái gì đó như.

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

Bạn đã có nó gần như chính xác ngay trong giả của bạn – jamylak

Trả lời

18

Bạn đang tìm kiếm này:

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

Something * như * đó, hoặc * chính xác * đó? ;) – jamylak

+2

@jamylak Đó là suy nghĩ đơn giản nhất đến với tâm trí của tôi để làm cho văn bản đủ dài để được đăng. – kirelagin

+2

Tôi biết, chỉ gây rối với bạn – jamylak

Các vấn đề liên quan