Hướng dẫn if not list python - nếu không liệt kê python

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ử in (hoặc trong trường hợp cụ thể của bạn, not in). Như đã đề cập trong tài liệu,

Nội phân chính

  • Làm cách nào để kiểm tra xem một cái gì đó là (không) trong danh sách trong Python?
  • Vấn đề XY: Bạn đã xem xét các bộ chưa?
  • Kiểm tra mục tồn tại trong danh sách bằng cách sử dụng danh sách hiểu.
  • Kiểm tra xem một phần tử có tồn tại trong danh sách bằng danh sách.count ()
  • Kiểm tra xem một phần tử có tồn tại trong danh sách bằng bất kỳ ()
  • Kiểm tra xem danh sách có chứa một mục sử dụng không trong toán tử nghịch đảo không.
  • Phương thức Python All () để kiểm tra xem danh sách có tồn tại trong một danh sách khác không

Các nhà khai thác innot in Kiểm tra thành viên.

(1, 2) in [(3, 4), (1, 2)]
#  True
0 đánh giá là
(1, 2) in [(3, 4), (1, 2)]
#  True
1 nếu
(1, 2) in [(3, 4), (1, 2)]
#  True
2 là thành viên của
(1, 2) in [(3, 4), (1, 2)]
#  True
3 và
(1, 2) in [(3, 4), (1, 2)]
#  True
4 nếu không.
(1, 2) in [(3, 4), (1, 2)]
#  True
5 Trả về sự phủ định của
(1, 2) in [(3, 4), (1, 2)]
#  True
0.

Additionally,

Toán tử not in được xác định là có giá trị thực nghịch là in.

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

Đâ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
1, in 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.

... innot in, đượ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
1. Ví dụ, bạn có thể (nhưng không nên) làm điều này:

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

in ngắn mạch, vì vậy nếu phần tử của bạn ở đầu danh sách, in 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:

  • [3, 2, 1].__contains__(1)
    # True
    
    8 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,
    [3, 2, 1].__contains__(1)
    # True
    
    9 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)
    
    0 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 các bộ chưa?

Kiểm tra mục tồn tại trong danh sách bằng cách sử dụng danh sách hiểu.

  • Kiểm tra xem một phần tử có tồn tại trong danh sách bằng danh sách.count ()
  • Kiểm tra xem một phần tử có tồn tại trong danh sách bằng bất kỳ ()
  • Kiểm tra xem danh sách có chứa một mục sử dụng không trong toán tử nghịch đảo không.

Phương thức Python All () để kiểm tra xem danh sách có tồn tại trong một danh sách khác không

Các nhà khai thác innot in Kiểm tra thành viên.

(1, 2) in [(3, 4), (1, 2)]
#  True
0 đánh giá là
(1, 2) in [(3, 4), (1, 2)]
#  True
1 nếu
(1, 2) in [(3, 4), (1, 2)]
#  True
2 là thành viên của
(1, 2) in [(3, 4), (1, 2)]
#  True
3 và
(1, 2) in [(3, 4), (1, 2)]
#  True
4 nếu không.
(1, 2) in [(3, 4), (1, 2)]
#  True
5 Trả về sự phủ định của
(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

Toán tử not in được xác định là có giá trị thực nghịch là in.

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)

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

Đây là vài ví dụ:To check if the list contains the specific element or not in Python, use theinoperator ornot in operator. Lets explore this topic in detail.

Đ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):in operator. The in operator checks if the list contains a specific element or not. It can also check if the element exists on the list or not using the list.count() function.

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

[3, 2, 1].__contains__(1)
# True
1, in 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.in operator is the most convenient way to check if an item exists on the list or not.

... innot in, đượ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
1. Ví dụ, bạn có thể (nhưng không nên) làm điều này:True if an item exists in the list and False if an item does not exist. The list need not be sorted to practice this approach of checking.

in ngắn mạch, vì vậy nếu phần tử của bạn ở đầu danh sách, in sẽ đánh giá nhanh hơn:True, and if not, then it returns false.

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:

[3, 2, 1].__contains__(1)
# True
8 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,
[3, 2, 1].__contains__(1)
# True
9 sẽ được nâng lên.True if an item exists in the list else returns False.

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)
0 có thể được sử dụng nếu bạn muốn đếm các lần xuất hiện.

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?

Hãy lấy một ví dụ trong đó chúng tôi không tìm thấy một mục trong danh sách.

# app.py lista = ['Stranger Things', 's Giáo dục', 'Game of Thrones'] nếu 'Dark' trong Lista: Print ("Có, 's eductation' được tìm thấy trong danh sách:", lista) ("Không, 'Dark' không tìm thấy trong danh sách")

Đầu ra

python3 app.py nope, 'dark' không tìm thấy trong danh sách

Danh sách này không chứa phần tử tối, vì vậy nó trả về sai và chặn thực thi.False, and else block executes.

Kiểm tra mục tồn tại trong danh sách bằng cách sử dụng danh sách hiểu.

Chúng tôi cũng có thể sử dụng danh sách hiểu để kiểm tra xem mục có tồn tại trong danh sách Python không.

Xem mã sau.

# app.py data_string = "Phần cuối cùng của Game of Thrones không tốt" lista = ['Stranger Things', 's Giáo dục', 'Game of Thrones'] in ("Chuỗi gốc:" + Data_String) in (in ( "Danh sách ban đầu:" + str (lista)) res = [ele for ele in lista if (ele in data_string)] in ("Chuỗi có chứa bất kỳ phần tử danh sách nào:" + str (bool (res)))

Đầu ra

python3 app.py nope, 'dark' không tìm thấy trong danh sách

Danh sách này không chứa phần tử tối, vì vậy nó trả về sai và chặn thực thi.

Kiểm tra mục tồn tại trong danh sách bằng cách sử dụng danh sách hiểu.zero or more for or if clauses. The expressions can be anything, meaning you can put all types of objects in lists.

Chúng tôi cũng có thể sử dụng danh sách hiểu để kiểm tra xem mục có tồn tại trong danh sách Python không.context of the for and if clauses follow it.

Xem mã sau.

# app.py data_string = "Phần cuối cùng của Game of Thrones không tốt" lista = ['Stranger Things', 's Giáo dục', 'Game of Thrones'] in ("Chuỗi gốc:" + Data_String) in (in ( "Danh sách ban đầu:" + str (lista)) res = [ele for ele in lista if (ele in data_string)] in ("Chuỗi có chứa bất kỳ phần tử danh sách nào:" + str (bool (res)))

Python3 App.Py Chuỗi ban đầu: Mùa cuối cùng của Game of Thrones không tốt trong danh sách ban đầu: ['Stranger Things', 's Giáo dục', 'Game of Thrones'] Chuỗi có chứa bất kỳ yếu tố danh sách nào: true

Đầu ra

python3 app.py nope, 'dark' không tìm thấy trong danh sách

Danh sách này không chứa phần tử tối, vì vậy nó trả về sai và chặn thực thi.

Kiểm tra mục tồn tại trong danh sách bằng cách sử dụng danh sách hiểu.

Chúng tôi cũng có thể sử dụng danh sách hiểu để kiểm tra xem mục có tồn tại trong danh sách Python không.

list.count(elem)

Xem mã sau. method returns the occurrence count of the given element in the list. If its greater than 0, it means a given item exists in the list.

# app.py data_string = "Phần cuối cùng của Game of Thrones không tốt" lista = ['Stranger Things', 's Giáo dục', 'Game of Thrones'] in ("Chuỗi gốc:" + Data_String) in (in ( "Danh sách ban đầu:" + str (lista)) res = [ele for ele in lista if (ele in data_string)] in ("Chuỗi có chứa bất kỳ phần tử danh sách nào:" + str (bool (res)))

Đầu ra

Python3 App.Py Chuỗi ban đầu: Mùa cuối cùng của Game of Thrones không tốt trong danh sách ban đầu: ['Stranger Things', 's Giáo dục', 'Game of Thrones'] Chuỗi có chứa bất kỳ yếu tố danh sách nào: true

Danh sách toàn diện cung cấp một cách ngắn gọn để tạo danh sách.

Nó bao gồm các dấu ngoặc chứa biểu thức theo sau là một mệnh đề, sau đó không hoặc nhiều hơn cho hoặc nếu các mệnh đề. Các biểu thức có thể là bất cứ điều gì, có nghĩa là bạn có thể đặt tất cả các loại đối tượng vào danh sách.

Kết quả sẽ là danh sách mới do đánh giá một biểu thức trong bối cảnh của FOR và nếu các điều khoản tuân theo nó.

Đầu ra

Trong ví dụ của chúng tôi, chúng tôi kiểm tra danh sách và cả với các mục chuỗi nếu chúng tôi có thể tìm thấy một trận đấu và trả về đúng.

Hãy xem liệu chuỗi chứa từ không tồn tại trong một mục của danh sách.

# app.py data_string = "Phần cuối cùng của Bojack Horseman là tốt" # khởi tạo danh sách kiểm tra lista = ['Stranger Things', 's Giáo dục', 'Game of Thrones'] # in chuỗi gốc ("Chuỗi gốc: Chuỗi gốc: " + data_string) # in danh sách ban đầu (" Danh sách gốc: " + str (lista)) Kết quả in ("Chuỗi chứa bất kỳ phần tử danh sách nào:" + str (bool (res)))

Python3 App.Py Chuỗi ban đầu: Mùa cuối cùng của Bojack Horseman là tốt Danh sách ban đầu: ['Stranger Things', 'S Education', 'Game of Thrones']not in is an inbuilt operator that evaluates to True if it does not finds a variable in the specified sequence and Falseotherwise.

Kiểm tra xem một phần tử có tồn tại trong danh sách bằng danh sách.count ()

Để kiểm tra xem mục có tồn tại trong danh sách Python hay không, hãy sử dụng phương thức list.Count ().

Đầu ra

Chức năng cú pháp của danh sách.count () được theo sau.

Phương thức Số lượng danh sách Python (Mục) Trả về số lượng xuất hiện của phần tử đã cho trong danh sách. Nếu nó lớn hơn 0, nó có nghĩa là một mục nhất định tồn tại trong danh sách.

Phương thức Python All () để kiểm tra xem danh sách có tồn tại trong một danh sách khác không

Trong chương trình này, bạn sẽ học cách kiểm tra xem danh sách Python có chứa tất cả các mục của danh sách khác và hiển thị kết quả bằng hàm python print ().

Chúng tôi sẽ sử dụng hai danh sách có giá trị chồng chéo. Một trong số đó là cái lớn chứa tất cả các mục của cái thứ hai.

  1. List1 List1 chứa tất cả hoặc một số mục của danh sách khác.
  2. List2 là tập hợp con của cái đầu tiên.

Xem mã sau.

# app.py list1 = ['homer', 'bart', 'lisa', 'maggie', 'lisa'] list2 = ['bart', 'homer', 'lisa'] kiểm tra = all (mục trong list1 for Mục trong list2) Nếu kiểm tra là đúng: in ("Danh sách {} chứa tất cả các phần tử của danh sách {}". Định dạng (list1, list2)) . ")

Đầu ra

Ứng dụng Python3.

Bạn có thể thấy rằng danh sách đầu tiên chứa tất cả các yếu tố của danh sách thứ hai. Điều này là do chúng tôi đã kiểm tra danh sách đầu tiên bằng phương thức All ().

Sự kết luận

Có nhiều cách tiếp cận bạn có thể sử dụng để xác định xem một mục có tồn tại trong danh sách hay không. Ví dụ, chúng tôi đã thấy những cách sau đây.

  1. Sử dụng Python trong toán tử
  2. Sử dụng danh sách Python hiểu biết
  3. Sử dụng phương thức list.count ()
  4. Sử dụng hàm python bất kỳ ()

Đó là nó cho hướng dẫn này.