2011-08-19 31 views
9

Có cách viết tắt để kiểm tra các phím trong từ điển không?Nhiều toán tử 'trong' bằng Python?

Cái gì mà tôi có thể sử dụng thay vì sử dụng nhiều inand nhà khai thác - thay vì các nội dung sau:

('somekey' in d) and ('someotherkey' in d) and ('somekeyggg' in d) 
+0

Có gì sai với điều này? Nó trông rất rõ ràng và thanh lịch. –

+0

Thật khó chịu nếu bạn phải làm điều đó cho 8 hoặc 9 phím. –

+0

Sau đó, xem xét hiển thị đó làm ví dụ. Ba phiên bản chính không phải là xấu, và không chứng minh bất kỳ vấn đề thực sự. –

Trả lời

24
all(word in d for word in [ 'somekey', 'someotherkey', 'somekeyggg' ]) 
+1

+1 Danh sách có thể được tạo trước và thậm chí có thể được sử dụng lại. –

+3

@Gareth: tại sao bạn thêm phân chia đó? – recursive

+1

@reno xin lỗi khi chọn nits, nhưng tôi tin rằng đó sẽ là [máy phát điện] (http://www.python.org/dev/peps/pep-0289/) [biểu thức] (http: //docs.python. org/reference/expressions.html # generator-expressions). – Marty

5
set(['somekey', 'someotherkey', 'somekeyggg']).issubset(d) 
Các vấn đề liên quan