Hướng dẫn how do you check if something is not in a set python? - làm thế nào để bạn kiểm tra xem có thứ gì đó không có trong một python đã đặt hay không?

Làm cách nào để kiểm tra xem một cái gì đó là [không] trong danh sách trong Python?

Giải pháp rẻ nhất và dễ đọc nhất là sử dụng toán tử

[1, 2] in [[3, 4], [1, 2]]
#  True
0 [hoặc trong trường hợp cụ thể của bạn,
[1, 2] in [[3, 4], [1, 2]]
#  True
1]. Như đã đề cập trong tài liệu,

Các nhà khai thác

[1, 2] in [[3, 4], [1, 2]]
#  True
0 và
[1, 2] in [[3, 4], [1, 2]]
#  True
1 Kiểm tra thành viên.
[1, 2] in [[3, 4], [1, 2]]
#  True
4 đánh giá thành
[1, 2] in [[3, 4], [1, 2]]
#  True
5 nếu
[1, 2] in [[3, 4], [1, 2]]
#  True
6 là thành viên của
[1, 2] in [[3, 4], [1, 2]]
#  True
7 và
[1, 2] in [[3, 4], [1, 2]]
#  True
8 khác.
[1, 2] in [[3, 4], [1, 2]]
#  True
9 Trả về sự phủ định của
[1, 2] in [[3, 4], [1, 2]]
#  True
4.

Additionally,

Toán tử

[1, 2] in [[3, 4], [1, 2]]
#  True
1 được xác định là có giá trị thực nghịch của
[1, 2] in [[3, 4], [1, 2]]
#  True
0.

[3, 2, 1].__contains__[1]
# True
3 về mặt logic giống như
[3, 2, 1].__contains__[1]
# True
4.

Đây là vài ví dụ:

'a' in [1, 2, 3]
# False

'c' in ['a', 'b', 'c']
# True

'a' not in [1, 2, 3]
# True

'c' not in ['a', 'b', 'c']
# False

Điều này cũng hoạt động với các bộ dữ liệu, vì các bộ dữ liệu có thể băm [do hậu quả của thực tế là chúng cũng là bất biến]:

[1, 2] in [[3, 4], [1, 2]]
#  True

Nếu đối tượng trên RHS xác định phương thức

[3, 2, 1].__contains__[1]
# True
5,
[1, 2] in [[3, 4], [1, 2]]
#  True
0 sẽ gọi nó trong nội bộ, như đã lưu ý trong đoạn cuối của phần so sánh của tài liệu.

...

[1, 2] in [[3, 4], [1, 2]]
#  True
0 và
[1, 2] in [[3, 4], [1, 2]]
#  True
1, được hỗ trợ bởi các loại có thể sử dụng được hoặc thực hiện phương pháp
[3, 2, 1].__contains__[1]
# True
5. Ví dụ, bạn có thể [nhưng không nên] làm điều này:

[3, 2, 1].__contains__[1]
# True

[1, 2] in [[3, 4], [1, 2]]
#  True
0 ngắn mạch, vì vậy nếu phần tử của bạn ở đầu danh sách,
[1, 2] in [[3, 4], [1, 2]]
#  True
0 sẽ đánh giá nhanh hơn:

lst = list[range[10001]]
%timeit 1 in lst
%timeit 10000 in lst  # Expected to take longer time.

68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]

Nếu bạn muốn làm nhiều hơn là chỉ kiểm tra xem một mục có nằm trong danh sách hay không, có các tùy chọn:

  • lst = list[range[10001]]
    %timeit 1 in lst
    %timeit 10000 in lst  # Expected to take longer time.
    
    68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
    
    2 có thể được sử dụng để truy xuất chỉ mục của một mục. Nếu yếu tố đó không tồn tại,
    lst = list[range[10001]]
    %timeit 1 in lst
    %timeit 10000 in lst  # Expected to take longer time.
    
    68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
    
    3 sẽ được nâng lên.
  • lst = list[range[10001]]
    %timeit 1 in lst
    %timeit 10000 in lst  # Expected to take longer time.
    
    68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
    
    4 có thể được sử dụng nếu bạn muốn đếm các lần xuất hiện.

Vấn đề XY: Bạn đã xem xét
lst = list[range[10001]]
%timeit 1 in lst
%timeit 10000 in lst  # Expected to take longer time.

68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
5S chưa?

Hãy tự hỏi mình những câu hỏi sau:

  • Bạn có cần kiểm tra xem một mục có nằm trong danh sách nhiều lần không một lần?
  • Là kiểm tra này được thực hiện bên trong một vòng lặp, hoặc một chức năng được gọi là lặp đi lặp lại?
  • Các mặt hàng bạn đang lưu trữ trong danh sách của bạn có thể có thể không? Iow, bạn có thể gọi
    lst = list[range[10001]]
    %timeit 1 in lst
    %timeit 10000 in lst  # Expected to take longer time.
    
    68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
    
    6 trên chúng không?

Nếu bạn trả lời "có" cho những câu hỏi này, bạn nên sử dụng

lst = list[range[10001]]
%timeit 1 in lst
%timeit 10000 in lst  # Expected to take longer time.

68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
5 thay thế. Một bài kiểm tra thành viên
[1, 2] in [[3, 4], [1, 2]]
#  True
0 trên
lst = list[range[10001]]
%timeit 1 in lst
%timeit 10000 in lst  # Expected to take longer time.

68.9 ns ± 0.613 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
178 µs ± 5.01 µs per loop [mean ± std. dev. of 7 runs, 10000 loops each]
9S là độ phức tạp thời gian O [N]. Điều này có nghĩa là Python phải thực hiện quét tuyến tính danh sách của bạn, truy cập từng yếu tố và so sánh nó với mục tìm kiếm. Nếu bạn đang làm điều này nhiều lần hoặc nếu danh sách lớn, hoạt động này sẽ phải chịu một chi phí.

Mặt khác, các đối tượng ____35 băm giá trị của chúng để kiểm tra thành viên thời gian liên tục. Kiểm tra cũng được thực hiện bằng cách sử dụng

[1, 2] in [[3, 4], [1, 2]]
#  True
0:

1 in {1, 2, 3} 
# True

'a' not in {'a', 'b', 'c'}
# False

[1, 2] in {['a', 'c'], [1, 2]}
# True

Nếu bạn không may là yếu tố bạn đang tìm kiếm/không tìm kiếm ở cuối danh sách của bạn, Python sẽ quét danh sách cho đến cuối. Điều này thể hiện rõ từ thời gian dưới đây:

l = list[range[100001]]
s = set[l]

%timeit 100000 in l
%timeit 100000 in s

2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]

Một lời nhắc nhở, đây là một tùy chọn phù hợp miễn là các yếu tố bạn lưu trữ và tìm kiếm có thể băm. IOW, họ sẽ phải là loại bất biến hoặc các đối tượng thực hiện

1 in {1, 2, 3} 
# True

'a' not in {'a', 'b', 'c'}
# False

[1, 2] in {['a', 'c'], [1, 2]}
# True
2.

Không phải trong toán tử trong nhà điều hành - toán tử này được sử dụng để kiểm tra xem một phần tử không có trong danh sách được truyền hay không. Trả về true nếu phần tử không có trong danh sách khác trả về sai.

Làm cách nào để tìm một mục trong một bộ trong Python?
W3Schools is Powered by W3.CSS.

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Trong bài viết này, chúng tôi sẽ thảo luận về cách kiểm tra xem một bộ có chứa một phần tử trong Python không.

    Syntax::

    element in set

    Phương pháp: 1 Sử dụng trong toán tử

    • Đây là một nhà điều hành thành viên được sử dụng để kiểm tra xem giá trị đã cho có có trong tập hợp hay không. Nó sẽ trả về đúng nếu phần tử đã cho có mặt trong tập hợp, nếu không thì sai.
    • ở đâu

    Đặt là một bộ đầu vào Check if an element is present in a set

    Python3

    phần tử là giá trị cần kiểm tra

    Ví dụ: Kiểm tra xem một phần tử có mặt trong một tập hợp không

    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    3
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    4

    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    5
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    6
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    7
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    8
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    0
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    2
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    4
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    6
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    7

    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    8
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    9
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    8
    [1, 2] in [[3, 4], [1, 2]]
    #  True
    
    0
    element in set
    2

    Output:

    True
    True
    False

    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    8
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    0 ____10
    element in set
    2

    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    8
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    9
    True
    True
    False
    0
    [1, 2] in [[3, 4], [1, 2]]
    #  True
    
    0
    element in set
    2

    Syntax::

    element not in set

    where,

    • Đây là một nhà điều hành thành viên được sử dụng để kiểm tra xem giá trị đã cho có có trong tập hợp hay không. Nó sẽ trả về đúng nếu phần tử đã cho có mặt trong tập hợp, nếu không thì sai.
    • ở đâu

    Đặt là một bộ đầu vào: Check if an element is present in a set

    Python3

    phần tử là giá trị cần kiểm tra

    Ví dụ: Kiểm tra xem một phần tử có mặt trong một tập hợp không

    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    3
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    4

    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    5
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    6
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    7
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    8
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    0
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    2
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    4
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    9
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    6
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    7

    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    8
    l = list[range[100001]]
    s = set[l]
    
    %timeit 100000 in l
    %timeit 100000 in s
    
    2.58 ms ± 58.9 µs per loop [mean ± std. dev. of 7 runs, 100 loops each]
    101 ns ± 9.53 ns per loop [mean ± std. dev. of 7 runs, 10000000 loops each]
    
    9
    1 in {1, 2, 3} 
    # True
    
    'a' not in {'a', 'b', 'c'}
    # False
    
    [1, 2] in {['a', 'c'], [1, 2]}
    # True
    
    8
    [1, 2] in [[3, 4], [1, 2]]
    #  True
    
    0
    element in set
    2

    Output:

    False
    False
    True

    Làm thế nào để bạn kiểm tra xem một giá trị có nằm trong một bộ không?

    Để kiểm tra xem một giá trị nhất định có tồn tại trong một tập hợp không, sử dụng phương thức .has []: myset.has [someVal];Sẽ trả về true nếu một số giá trị xuất hiện trong tập hợp, sai nếu không.use .has[] method: mySet.has[someVal]; Will return true if someVal appears in the set, false otherwise.

    Làm thế nào để bạn kiểm tra nếu một cái gì đó không có trong danh sách Python?

    Không phải trong toán tử trong nhà điều hành - toán tử này được sử dụng để kiểm tra xem một phần tử không có trong danh sách được truyền hay không.Trả về true nếu phần tử không có trong danh sách khác trả về sai. − This operator is used to check whether an element is not present in the passed list or not. Returns true if the element is not present in the list otherwise returns false.

    Làm cách nào để tìm một mục trong một bộ trong Python?

    Cách tiêu chuẩn để tìm kiếm một mục trong một tập hợp là sử dụng toán tử 'in'.Nó đánh giá đúng nếu nó tìm thấy mục trong chuỗi được chỉ định và sai nếu không.Ví dụ sau đây chứng minh.Đó là tất cả về việc tìm kiếm một mục bên trong một bộ trong Python.using the 'in' operator. It evaluates to true if it finds the item in the specified sequence and false otherwise. The following example demonstrates. That's all about searching for an item inside a set in Python.

    Làm thế nào để bạn biết nếu một giá trị không có trong danh sách?

    Sử dụng không trong toán tử để kiểm tra xem một phần tử không có trong danh sách.Sử dụng phần tử cú pháp không có trong danh sách để trả về True nếu phần tử không nằm trong danh sách và sai nếu không. to check if an element is not in a list. Use the syntax element not in list to return True if element is not in list and False otherwise.

    Bài Viết Liên Quan

    Chủ Đề