2011-10-10 39 views
6

Tôi khá mới với Python, và tôi đã tự hỏi liệu có một cách kiểm tra giá trị để xem liệu nó có phải là một trong các giá trị trong danh sách hay không, tương tự như SQL WHERE mệnh đề. Xin lỗi nếu đây là câu hỏi cơ bản.Kiểm tra biến nếu nó nằm trong danh sách

MsUpdate.UpdateClassificationTitle in (
     'Critical Updates', 
     'Feature Packs', 
     'Security Updates', 
     'Tools', 
     'Update Rollups', 
     'Updates', 
     ) 

tức, tôi muốn viết:

if MsUpdate.UpdateClassificationTitle in (
     'Critical Updates', 
     'Feature Packs', 
     'Security Updates', 
     'Tools', 
     'Update Rollups', 
     'Updates' 
     ): 
    then_do_something() 
+0

Vâng, làm điều đó, ngoại trừ sử dụng cú pháp chính xác cho danh sách. – Marcin

+0

Đó có phải là một bộ torrent Python hay một bộ SQL không? Bởi vì nó không phải là một danh sách Python. – BoltClock

+1

Thay đổi '(' và ')' thành '[' và ']' tương ứng. :) –

Trả lời

12

vẻ đủ gọn gàng, nhưng nếu bạn đang sử dụng nó nhiều hơn một lần bạn nên đặt tên cho tuple:

titles = ('Critical Updates', 
    'Feature Packs', 
    'Security Updates', 
    'Tools', 
    'Update Rollups', 
    'Updates') 

if MsUpdate.UpdateClassificationTitle in titles: 
    do_something_with_update(MsUpdate) 

Tuples sử dụng dấu ngoặc đơn. Nếu bạn muốn danh sách thay đổi nó thành dấu ngoặc vuông. Hoặc sử dụng một bộ có tra cứu nhanh hơn.

11

Nó khá đơn giản:

sample = ['one', 'two', 'three', 'four'] 

if 'four' in sample: 
    print True 
2

Hãy chắc chắn rằng bạn đang sử dụng trong không là ví dụ

username = ["Bob", "Kyle"] 

name = "Kyle" 

if name in username: 
    print("step 1") 
    login = 1 
else: 
    print("Invalid User") 
+1

Xin chào! Chào mừng bạn đến với StackOverflow. Vui lòng đảm bảo mã Python của bạn được định dạng đúng. Định dạng hiện tại sẽ không biên dịch. Bạn có thể sử dụng nút 'chỉnh sửa' để sửa đổi câu trả lời của bạn. – rrauenza

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