Kiểm tra xem tất cả các phần tử của danh sách có nằm trong danh sách khác không Python

Trong Python, danh sách là vùng chứa quan trọng vì chúng lưu trữ tất cả các loại kiểu dữ liệu dưới dạng tập hợp. Nó có thể chứa tới 536.870.912 mục trong hệ thống 32 bit. Đôi khi rất khó để biết liệu danh sách có chứa một mục cụ thể hay không. Python có nhiều cách khác nhau để chúng ta có thể tìm hiểu xem danh sách có chứa mục đó không

Mục lục

  • Danh sách chứa Python - Giới thiệu
  • Kiểm tra xem danh sách Python có chứa phần tử hay không bằng toán tử in
  • Sử dụng vòng lặp for để kiểm tra xem danh sách có chứa phần tử trong Python không
  • Sử dụng any[] để kiểm tra xem danh sách có chứa phần tử không
  • Count[] để kiểm tra xem danh sách có chứa phần tử không
  • Bớt tư tưởng

Danh sách Python chứa - Giới thiệu

Kiểm tra xem một phần tử có trong danh sách hay không là một trong những thao tác danh sách cơ bản trong Python và có nhiều cách khác nhau để chúng ta có thể kiểm tra điều đó. Trong hướng dẫn này, chúng tôi sẽ đề cập đến một số cách để kiểm tra xem danh sách có chứa phần tử hay không



Kiểm tra xem danh sách Python có chứa phần tử hay không bằng toán tử in

Cách thuận tiện nhất để kiểm tra xem danh sách có chứa phần tử hay không là sử dụng toán tử in. Không sắp xếp danh sách theo bất kỳ thứ tự cụ thể nào, nó trả về TRUE nếu phần tử ở đó, nếu không thì FALSE

Ví dụ dưới đây cho thấy cách thực hiện điều này bằng cách sử dụng 'in' trong câu lệnh if-else

Đầu vào

list = [Adam, Dean, Harvey, Mick, John]

if 'John' in list:
	print [" 'John' is found in the list"]
else
    print [" 'John' is not found in the list"] 

if 'Ned' in list:
    print [" 'Ned' is found in the list"]
else
    print [" 'Ned' is not found in the list"]

đầu ra

'John' is found in the list
'Ned' is not found in the list

Sử dụng vòng lặp for để kiểm tra xem danh sách có chứa phần tử trong Python không

Một phương pháp đơn giản khác để kiểm tra xem danh sách có chứa phần tử đang lặp qua nó không. Đúng như tên gọi, vòng lặp sẽ khớp từng phần tử của danh sách với phần tử mà chúng ta đang tìm kiếm từng cái một và sẽ chỉ dừng lại nếu có sự trùng khớp hoặc không có sự trùng khớp nào cả. Ví dụ dưới đây minh họa điều này

Đầu vào

list = [Adam, Dean, Harvey, Mick, John]

for name in list:     
if name == 'Adam':         
	  print ["Found the element"]

đầu ra

Found the element


Sử dụng any[] để kiểm tra xem danh sách có chứa

Hàm any[] là một phương pháp tích hợp sẵn để kiểm tra sự trùng khớp trong một chuỗi với sự trùng khớp của từng thành phần danh sách

Ví dụ dưới đây cho thấy cách thức hoạt động của hàm any[]. Chúng tôi kiểm tra xem có bất kỳ mục phổ biến nào trong chuỗi không, 'Adam sống ở New York' và danh sách được đề cập trong dòng đầu tiên

Đầu vào

list = [Adam, Dean, Harvey, Mick, John]
string = "Adam lives in New York"

print ["The original list is: " + str[list]]
print ["The original string is: " + string]

result = any[item in string for item in list]

print ["Does the string contain 'Adam': " + str[result]]

đầu ra

The original list is: [Adam, Dean, Harvey, Mick, John]
The original string is: Adam lives in New York
Does the string contain 'Adam': True


count[] để kiểm tra xem danh sách có chứa

Một phương thức tích hợp khác trong Python, count[] trả về số lần phần tử được truyền xuất hiện trong danh sách. Nếu phần tử không có trong danh sách thì hàm đếm[] sẽ trả về 0. Nếu nó trả về số nguyên dương lớn hơn 0 nghĩa là danh sách chứa phần tử

Đầu vào

list = [Adam, Dean, Harvey, Mick, John]

result = list.count[Harvey]

if result > 0:
    print["Harvey exists in the list"]
else:
    print["Harvey does not exist in the list"]

đầu ra

Harvey exists in the list

Bớt tư tưởng

Trong hướng dẫn này, chúng ta đã sử dụng các phương thức , vòng lặp for, any[] và count[] để kiểm tra xem một mục cụ thể có tồn tại trong danh sách hay không. Mọi người có thể tìm hiểu thêm các khái niệm khác liên quan đến Python tại đây

Trong quá trình học máy, AI hoặc thậm chí là phát triển web, chúng ta thường gặp sự cố khi cần kiểm tra xem mục cụ thể từ danh sách nhất định có nằm dưới dạng chuỗi con hay không

Trong bài viết này, chúng ta sẽ khám phá các cách khác nhau để kiểm tra xem một danh sách có chứa một mục cụ thể hay không

Danh sách Python chứa

5 cách dễ dàng để kiểm tra xem một danh sách có chứa một phần tử trong Python hay không

  1. Sử dụng toán tử “in”
  2. Sử dụng hiểu danh sách
  3. Sử dụng danh sách. phương thức đếm[]
  4. Sử dụng hàm any[]
  5. Sử dụng toán tử “not in”

Phương pháp 1. Sử dụng toán tử “in”

Để kiểm tra xem danh sách có chứa phần tử trong Python hay không, hãy sử dụng toán tử “in”. Toán tử “in” kiểm tra xem danh sách có chứa một mục cụ thể hay không. Nó cũng có thể kiểm tra xem phần tử có tồn tại trong danh sách hay không bằng cách sử dụng danh sách. hàm đếm[]

Danh sách Python là một thùng chứa thiết yếu vì nó lưu trữ các phần tử của tất cả các loại dữ liệu dưới dạng một bộ sưu tập. Toán tử “in” là cách thuận tiện nhất để kiểm tra xem một mục có tồn tại trong danh sách hay không

Cách tiếp cận này trả về True nếu một mục tồn tại trong danh sách và Sai nếu một mục không tồn tại. Danh sách không cần phải được sắp xếp để thực hành phương pháp kiểm tra này

Kiểm tra nếu mục tồn tại trong danh sách

Để kiểm tra xem một mục có tồn tại trong danh sách hay không, hãy sử dụng “toán tử in”. Sau đó, sử dụng toán tử “in” với điều kiện if và nếu mục đó tồn tại trong danh sách, thì điều kiện đó sẽ trả về True và nếu không, nó sẽ trả về False

cú pháp

________số 8_______

Giá trị trả về

Nó sẽ trả về True nếu một mục tồn tại trong danh sách khác trả về False

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]

đầu ra

python3 app.py
Yes, 'S Eductation' found in List :  ['Stranger Things', 'S Education', 'Game of Thrones']

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

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'Dark' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
else:
    print["Nope, 'Dark' not found in the list"]

đầu ra

python3 app.py
Nope, 'Dark' Not found in the list

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

Phương pháp 2. Sử dụng Khả năng hiểu danh sách

Để kiểm tra xem một danh sách có chứa một hay nhiều phần tử trong Python hay không, hãy sử dụng tính năng hiểu danh sách

main_list = [11, 21, 19, 18, 46]
check_elements = [11, 19, 46]

if all[[item in main_list for item in check_elements]]:
  print["The list contains all the items"]

đầu ra

The list contains all the items

Trong ví dụ này, chúng tôi đã xác định hai danh sách

  1. main_list là danh sách chính của chúng tôi mà chúng tôi sẽ kiểm tra nhiều phần tử
  2. Danh sách check_elements chứa các phần tử chúng ta sẽ kiểm tra trong main_list

Sử dụng khả năng hiểu danh sách, chúng tôi đang kiểm tra xem tất cả các phần tử của check_list có trong main_list hay không

Trong trường hợp của chúng tôi, Nó trả về True vì tất cả các phần tử đều có mặt. Đó là lý do tại sao nếu điều kiện được thực hiện

ví dụ 2

# app.py

data_string = "The last season of Game of Thrones was not good"

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

print["The original string : " + data_string]

print["The original list : " + str[listA]]

res = [ele for ele in listA if[ele in data_string]]

print["Does string contain any list element : " + str[bool[res]]]

đầu ra

python3 app.py

The original string : The last season of Game of Thrones was not good
The original list : ['Stranger Things', 'S Education', 'Game of Thrones']
Does string contain any list element : True

Khả năng hiểu danh sách 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 bởi một mệnh đề for, sau đó là 0 hoặc nhiều mệnh đề for hoặc if. Các biểu thức có thể là bất kỳ thứ gì, nghĩa là bạn có thể đặt tất cả các đối tượng trong danh sách

Kết quả sẽ là danh sách mới do đánh giá một biểu thức trong ngữ cảnh của các mệnh đề for và if theo sau nó

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

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

# app.py

data_string = "The last season of BoJack Horseman was good"

# initializing test list
listA = ['Stranger Things', 'S Education', 'Game of Thrones']

# printing original string
print["The original string : " + data_string]

# printing original list
print["The original list : " + str[listA]]

# using list comprehension
# checking if string contains list element
res = [ele for ele in listA if[ele in data_string]]

# print result
print["Does string contain any list element : " + str[bool[res]]]

đầu ra

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
0

Phương pháp 3. Sử dụng danh sách. hàm đếm[]

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

cú pháp

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
1

Phương thức List count[item] trả về số lần xuất hiện của phần tử đã cho trong danh sách. Nếu nó lớn hơn 0, một mục nhất định tồn tại trong danh sách

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
2

đầu ra

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
3

Phương pháp 4. Sử dụng phương thức any[]

Hàm any[] của Python là cách cổ điển nhất để thực hiện tác vụ này một cách hiệu quả. Hàm any[] kiểm tra sự trùng khớp trong một chuỗi với sự trùng khớp của từng thành phần danh sách

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
4

đầu ra

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
5

Từ đầu ra, Game of Thrones tồn tại trong danh sách

Phương pháp 5. Sử dụng không trong toán tử nghịch đảo

“not in” trong Python là một toán tử tích hợp có giá trị là True nếu nó không tìm thấy một biến trong chuỗi đã chỉ định và False nếu không

Để kiểm tra xem danh sách có chứa một mục cụ thể hay không, hãy sử dụng toán tử không nghịch đảo

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
6

đầu ra

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
7

Toán tử trong và không trong Python hoạt động tốt đối với danh sách, bộ dữ liệu, bộ và ký tự [kiểm tra phím]

Phương thức all[] trong Python để kiểm tra xem danh sách có tồn tại trong 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 các mục của danh sách khác hay không và hiển thị kết quả bằng hàm print[] của python

Chúng tôi sẽ sử dụng hai danh sách có giá trị chồng chéo. Một trong số này 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 - Nó là tập hợp con của cái đầu tiên
# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
8

đầu ra

# app.py

listA = ['Stranger Things', 'S Education', 'Game of Thrones']

if 'S Eductation' in listA:
    print["Yes, 'S Eductation' found in List : ", listA]
9

Bạn có thể thấy rằng danh sách đầu tiên chứa tất cả các phần tử của danh sách thứ hai. Điều này là do chúng ta đã kiểm tra danh sách đầu tiên bằng phương thức all[]

Câu hỏi thường gặp

Làm cách nào để kiểm tra xem một danh sách có chứa một phần tử cụ thể trong Python không?

Sử dụng “toán tử in” để kiểm tra xem một phần tử có tồn tại trong danh sách trong Python không

Tôi có thể sử dụng phương thức đếm [] để kiểm tra xem danh sách có chứa một mục cụ thể không?

Có, trong Python, bạn có thể sử dụng phương thức đếm[] để kiểm tra xem một danh sách có chứa một mục cụ thể hay không

Làm cách nào để kiểm tra xem một danh sách có chứa tất cả các mục từ một danh sách khác trong Python không?

Sử dụng hàm Python all[] và biểu thức trình tạo để kiểm tra xem tất cả các mục từ danh sách khác có tồn tại trong danh sách không

Làm cách nào để kiểm tra xem một danh sách có chứa bất kỳ mục nào từ một danh sách khác trong Python không?

Sử dụng hàm any[] và biểu thức trình tạo để kiểm tra xem có bất kỳ mục nào từ danh sách khác tồn tại trong danh sách trong Python không

Làm cách nào để kiểm tra xem danh sách có chứa các phần tử trùng lặp trong Python không?

Sử dụng hàm len[] kết hợp với hàm set[] để kiểm tra xem số lượng mục duy nhất trong danh sách có ít hơn số lượng mục trong danh sách trong Python không

Làm cách nào để xóa các mục trùng lặp khỏi danh sách trong Python?

Sử dụng phương thức set[] để tạo một tập hợp các phần tử duy nhất từ ​​​​danh sách và sau đó chuyển đổi nó trở lại danh sách

Phần kết luận

Cách tốt nhất và hiệu quả nhất để kiểm tra xem một danh sách có chứa một phần tử hay không là sử dụng “toán tử in” trong Python

Chủ Đề