Hướng dẫn if x not in y python - nếu x không có trong y python

Hai biểu mẫu tạo mã byte giống hệt nhau, như bạn có thể xác minh rõ ràng:

>>> import dis
>>> dis.dis[compile['if x not in d: pass', '', 'exec']]
  1           0 LOAD_NAME                0 [x]
              3 LOAD_NAME                1 [d]
              6 COMPARE_OP               7 [not in]
              9 JUMP_IF_FALSE            4 [to 16]
             12 POP_TOP             
             13 JUMP_FORWARD             1 [to 17]
        >>   16 POP_TOP             
        >>   17 LOAD_CONST               0 [None]
             20 RETURN_VALUE        
>>> dis.dis[compile['if not x in d: pass', '', 'exec']]
  1           0 LOAD_NAME                0 [x]
              3 LOAD_NAME                1 [d]
              6 COMPARE_OP               7 [not in]
              9 JUMP_IF_FALSE            4 [to 16]
             12 POP_TOP             
             13 JUMP_FORWARD             1 [to 17]
        >>   16 POP_TOP             
        >>   17 LOAD_CONST               0 [None]
             20 RETURN_VALUE        

Vì vậy, rõ ràng họ giống hệt nhau về mặt ngữ nghĩa.

Như một vấn đề của phong cách, PEP 8 không đề cập đến vấn đề.

Cá nhân, tôi rất thích mẫu if x not in y - điều đó cho thấy ngay lập tức rằng not in là một toán tử duy nhất và "đọc như tiếng Anh". if not x in y có thể đánh lừa một số độc giả nghĩ rằng nó có nghĩa là if [not x] in y, đọc ít hơn một chút tiếng Anh và hoàn toàn không có lợi thế bù đắp.and "reads like English". if not x in y may mislead some readers into thinking it means if [not x] in y, reads a bit less like English, and has absolutely no compensating advantages.

Sau đó, một câu lệnh IF được sử dụng để bỏ qua một số số nhất định sẽ được hiển thị. Ở đó, toán tử không được sử dụng với ’trong tình trạng như sau:

#A bản demo của Python 'không' với 'in' Toán tử

before = ['a', 'b']
after = ['a', 'b', 'c']
added1 = [x for x in after if x not in before]
added2 = [x for x in after if not x in before]
print added1, added2

>> ['c'] ['c']

print ["Danh sách mục:", a]

Bạn thấy, các mục được đánh giá sai là sử dụng ‘không phải là không hiển thị.

def wait_for_file[path_name, serial_number]:
    before = [f for f in os.listdir[path_name]]
    print '...waiting for DSN log file for unit', serial_number
    for each in before:
        if serial_number in each and '.xml' in each:
            print 'FYI...an older file',
            print '%s exists for unit %s' % [each, serial_number],
            print 'but is being ignored'
    while True:
        time.sleep[15]
        after = [f for f in os.listdir[path_name]]
        added = [f for f in after if f not in before]
        if added:
            print added
            for each in added:
                if serial_number in each and '.xml' in each:
                    print 'found file %s with serial number %s' % [
                        each, serial_number]
                    return each
        before = after

Chiều cao div này cần thiết để cho phép thanh bên dính

’Không phải là một toán tử logic trong Python sẽ trả về true nếu biểu thức là sai. Toán tử ’không phải được sử dụng trong các câu lệnh IF.True if the expression is False. The ‘not’ operator is used in the if statements.

Ví dụ:

Nếu không phải x

Nếu x là đúng, thì sẽ không đánh giá là sai, nếu không, đúng.

Một ví dụ không phải là ví dụ & nbsp; Không phải với ví dụ

Các toán tử logic khác: Toán tử và toán tử | Hoặc nhà điều hành The and operator | OR operator

Tôi sẽ chỉ cho bạn một vài ví dụ để làm cho mọi thứ rõ ràng hơn về cách sử dụng toán tử không trong phần sắp tới.

Python không phải là người vận hành ví dụ với câu lệnh if

Trong ví dụ sau, một biến X được gán một giá trị 10. ’không phải được sử dụng trong câu lệnh IF như sau:

Nếu không phải x> 10:

Xem mã và kết quả.

Xem bản demo và mã trực tuyến

#A bản demo của nhà điều hành Python 'không'

x=10=10

ifnotx>10:notx>10:

in ["không được truy cập đúng"]["not retured True"]

else::

in ["Không được xử lý sai"]["not retured False"]

Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.

Làm thế nào không hoạt động của nhà điều hành?

Trong bản demo này, X được sử dụng như sau với Not Toán tử:

Nếu không X:

Xem bản demo và mã trực tuyến

#A bản demo của nhà điều hành Python 'không'

x=10=10

ifnotx:notx:

in ["không được truy cập đúng"]["Evaluated True"]

else::

in ["Không được xử lý sai"]["Evaluated False"]

Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.not x means if x is True or False. In Python, if a variable is a numeric zero or empty, or a None object then it is considered as False, otherwise True. In that case, as x = 10 so it is True. As x is True, so not operator evaluated as False and else part executed. See the same example below where the value of x = 0.

Xem bản demo và mã trực tuyến

x=10=10

ifnotx:notx:

in ["không được truy cập đúng"]["Evaluated True"]

else::

in ["Không được xử lý sai"]["Evaluated False"]

Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.

Làm thế nào không hoạt động của nhà điều hành?

Trong bản demo này, X được sử dụng như sau với Not Toán tử:

Xem bản demo và mã trực tuyến

#A bản demo của nhà điều hành Python 'không'

a_List=[5,10,15,20,25,30]=[5,10,15,20,25,30]

foraina_List:ain a_List:

ifnotain[10,25]:notain[10,25]:

in ["không được truy cập đúng"]["List Item: ",a]

in ["Không được xử lý sai"]

Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.

Không phải trong Python?

Trong Python, trong và không phải là các nhà khai thác thành viên. Chúng được sử dụng để kiểm tra xem một giá trị hoặc biến được tìm thấy trong một chuỗi [chuỗi, danh sách, tuple, bộ và từ điển]. ... Các nhà khai thác thành viên ..

Tôi có nên sử dụng không phải là không có Python?

Bạn nên sử dụng toán tử IS không khi bạn cần kiểm tra xem một biến không lưu trữ giá trị không.Khi chúng tôi sử dụng là hoặc không, chúng tôi kiểm tra danh tính của đối tượng.Hướng dẫn theo phong cách PEP 8 đề cập rằng so sánh với những người độc thân như không nên luôn luôn được thực hiện với IS hoặc không, và không bao giờ là người vận hành bình đẳng.. When we use is or is not , we check for the object's identity. The pep 8 style guide mentions that comparison to singletons like None should always be done with is or is not , and never the equality operators.

X true có nghĩa là gì trong Python?

Nếu bạn sử dụng nếu X, điều đó có nghĩa là nó phải đánh giá x cho giá trị sự thật của nó.Nhưng khi bạn sử dụng x == true hoặc x là đúng.Nó có nghĩa là kiểm tra xem loại [x] == bool và liệu x có đúng không.Sự chú ý: X là đúng không bằng bool [x] == true.checking whether type[x]==bool and whether x is True. attention : x is True is no equal to bool[x]==True.

Điều gì không có nghĩa là trong Python?

Nó thường được sử dụng làm giá trị mặc định cho các tham số tùy chọn, như trong: def sort [key = none]: Nếu không phải là không: # làm điều gì đó với đối số khác: # Đối số đã bị bỏ qua.Nếu bạn chỉ sử dụng nếu khóa: ở đây, thì một đối số được đánh giá là sai sẽ không được xem xét., as in: def sort[key=None]: if key is not None: # do something with the argument else: # argument was omitted. If you only used if key: here, then an argument which evaluated to false would not be considered.

Bài Viết Liên Quan

Chủ Đề