Hướng dẫn how do you check if list does not contains an item python? - làm thế nào để bạn kiểm tra nếu danh sách không chứa một mục python?

Nó phụ thuộc vào những gì bạn đang cố gắng làm. Nếu tốc độ không quan trọng, thì hãy sử dụng A trong LST. Nếu nó quan trọng, nó sẽ phụ thuộc vào việc bạn có đủ khả năng chuyển đổi danh sách của mình sang cấu trúc dữ liệu khác trước không [nghĩa là bạn sẽ thường xuyên tìm kiếm các mục trong danh sách nói], kích thước, v.v ...

Để đưa ra một ý tưởng:

import timeit

a = range[10000]
da = dict[zip[a, [None for i in a]]]

def list_first[]:
    return 0 in a

def dict_first[]:
    return 0 in da

def list_last[]:
    return 9999 in a

def dict_last[]:
    return 9999 in da

if __name__ == "__main__":
    for f in ["list_first", "dict_first", "list_last", "dict_last"]:
        t = timeit.Timer["%s[]" % f, setup="from __main__ import %s" % f]
        print min[t.repeat[number=10000]]

Điều này mang lại cho tôi:

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672

Nếu bạn tìm kiếm một mục ở đầu danh sách, việc sử dụng một dict sẽ không tăng tốc mọi thứ, như mong đợi. Nếu bạn tìm kiếm một mục ở cuối, thì sự khác biệt là rất đáng kể [3 thứ tự độ lớn], mặc dù như mong đợi: Dict sử dụng hashtable, danh sách cần tìm kiếm từng mục này lần lượt.

Nếu các mục có thể so sánh, bạn cũng có thể tăng tốc đáng kể bằng cách sắp xếp trình tự của mình và sử dụng tìm kiếm nhị phân [log [n] thay vì n, log [n] tương đối nhanh so với o [1] cho n không quá lớn trong thực tế cho Python] hoặc sử dụng các cấu trúc nâng cao hơn [cây tìm kiếm nhị phân, v.v.]. Nó có thể trở nên khá phức tạp - cấu trúc dữ liệu để tìm kiếm nhanh là một trong những vấn đề được nghiên cứu nhiều nhất trong CS.

Giới thiệu

Trong hướng dẫn này, chúng ta sẽ xem cách kiểm tra xem danh sách có chứa phần tử hoặc giá trị trong Python không. Chúng tôi sẽ sử dụng một danh sách các chuỗi, chứa một vài động vật:

animals = ['Dog', 'Cat', 'Bird', 'Fish']

Kiểm tra xem danh sách có chứa phần tử với vòng lặp không

Một phương pháp đơn giản và thô sơ để kiểm tra xem danh sách có chứa một phần tử đang lặp qua nó không và kiểm tra xem mục chúng tôi có phù hợp với phần chúng tôi đang tìm kiếm không. Hãy sử dụng vòng lặp

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
9 cho việc này:

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']

Mã này sẽ dẫn đến:

Chirp!

Kiểm tra xem danh sách có chứa phần tử với toán tử không

Bây giờ, một cách tiếp cận Succint hơn sẽ là sử dụng toán tử

animals = ['Dog', 'Cat', 'Bird', 'Fish']
0 tích hợp, nhưng với câu lệnh
animals = ['Dog', 'Cat', 'Bird', 'Fish']
1 thay vì câu lệnh
0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
9. Khi được ghép nối với
animals = ['Dog', 'Cat', 'Bird', 'Fish']
1, nó sẽ trả về
animals = ['Dog', 'Cat', 'Bird', 'Fish']
4 nếu một phần tử tồn tại theo một chuỗi hay không. Cú pháp của toán tử
animals = ['Dog', 'Cat', 'Bird', 'Fish']
0 trông như thế này:

element in list

Sử dụng toán tử này, chúng tôi có thể rút ngắn mã trước đó thành một câu lệnh:

if 'Bird' in animals: print['Chirp']

Đoạn mã này sẽ xuất ra như sau:

Chirp

Cách tiếp cận này có hiệu quả tương tự như vòng lặp

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
9, vì toán tử
animals = ['Dog', 'Cat', 'Bird', 'Fish']
0, được sử dụng như thế này, gọi hàm
animals = ['Dog', 'Cat', 'Bird', 'Fish']
8, vốn đã lặp qua danh sách - mặc dù, nó dễ đọc hơn nhiều.

Kiểm tra xem danh sách có chứa phần tử không có trong toán tử không

Ngược lại, chúng ta có thể sử dụng toán tử

animals = ['Dog', 'Cat', 'Bird', 'Fish']
9, là đối diện logic của toán tử
animals = ['Dog', 'Cat', 'Bird', 'Fish']
0. Nó trả về
animals = ['Dog', 'Cat', 'Bird', 'Fish']
4 nếu phần tử không có mặt trong một chuỗi.

Hãy viết lại ví dụ về mã trước đó để sử dụng toán tử

animals = ['Dog', 'Cat', 'Bird', 'Fish']
9:

if 'Bird' not in animals: print['Chirp']

Chạy mã này sẽ không tạo ra bất cứ điều gì, vì

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
3 có trong danh sách của chúng tôi.

Nhưng nếu chúng ta dùng thử với

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
4:

if 'Wolf' not in animals: print['Howl']

Mã này dẫn đến:

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
0

Kiểm tra xem danh sách có chứa phần tử với Lambda không

Một cách khác, bạn có thể kiểm tra xem một phần tử có mặt không phải là lọc mọi thứ khác ngoài phần tử đó, giống như sàng lọc qua cát và kiểm tra xem cuối cùng có bất kỳ vỏ nào không. Phương pháp

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
5 tích hợp chấp nhận hàm Lambda và danh sách là đối số của nó. Chúng tôi có thể sử dụng chức năng Lambda ở đây để kiểm tra chuỗi
for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
6 của chúng tôi trong danh sách
for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
7.

Sau đó, chúng tôi kết thúc kết quả trong một

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
8 vì phương thức
for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
5 trả về một đối tượng
Chirp!
0, không phải là kết quả. Nếu chúng ta đóng gói đối tượng
Chirp!
0 trong danh sách, nó sẽ chứa các phần tử còn lại sau khi lọc:

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
1

Mã này dẫn đến:

Kiểm tra xem danh sách có chứa phần tử với Lambda không

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
2

Một cách khác, bạn có thể kiểm tra xem một phần tử có mặt không phải là lọc mọi thứ khác ngoài phần tử đó, giống như sàng lọc qua cát và kiểm tra xem cuối cùng có bất kỳ vỏ nào không. Phương pháp

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
5 tích hợp chấp nhận hàm Lambda và danh sách là đối số của nó. Chúng tôi có thể sử dụng chức năng Lambda ở đây để kiểm tra chuỗi
for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
6 của chúng tôi trong danh sách
for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
7.

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
3

Sau đó, chúng tôi kết thúc kết quả trong một

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
8 vì phương thức
for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
5 trả về một đối tượng
Chirp!
0, không phải là kết quả. Nếu chúng ta đóng gói đối tượng
Chirp!
0 trong danh sách, nó sẽ chứa các phần tử còn lại sau khi lọc:

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

Bây giờ, cách tiếp cận này không phải là hiệu quả nhất. Nó khá chậm hơn ba cách tiếp cận trước đó chúng tôi đã sử dụng. Phương thức

for animal in animals:
    if animal == 'Bird':
        print['Chirp!']
5 tự nó tương đương với hàm máy phát:

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
4

Hiệu suất bị chậm lại của mã này, trong số những thứ khác, xuất phát từ thực tế là chúng ta đang chuyển đổi kết quả thành một danh sách cuối cùng, cũng như thực hiện một hàm trên mục trên mỗi lần lặp.

Chirp

Kiểm tra xem danh sách có chứa phần tử bằng bất kỳ []

Một cách tiếp cận tích hợp tuyệt vời khác là sử dụng hàm
Chirp!
3, đây chỉ là hàm trợ giúp kiểm tra xem có [ít nhất 1] trường hợp của một phần tử trong danh sách không. Nó trả về
animals = ['Dog', 'Cat', 'Bird', 'Fish']
4 hoặc
Chirp!
5 dựa trên sự hiện diện hoặc thiếu của một yếu tố:

Vì điều này dẫn đến

animals = ['Dog', 'Cat', 'Bird', 'Fish']
4, tuyên bố
Chirp!
7 của chúng tôi được gọi là:

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
6

Cách tiếp cận này cũng là một cách hiệu quả để kiểm tra sự hiện diện của một yếu tố. Nó hiệu quả như ba đầu tiên.

Kiểm tra xem danh sách có chứa phần tử bằng cách sử dụng Count []

0.00302004814148
0.00318598747253
4.21943712234
0.004145860672
7

Cuối cùng, chúng ta có thể sử dụng chức năng

Chirp!
8 để kiểm tra xem phần tử có mặt hay không:

Chirp

Hàm này trả về sự xuất hiện của phần tử đã cho trong một chuỗi. Nếu nó lớn hơn 0, chúng ta có thể đảm bảo một mục đã cho nằm trong danh sách.

Hãy kiểm tra kết quả của hàm

Chirp!
8:

Làm thế nào để kiểm tra xem mục tồn tại trong một danh sách trong Python?

Để kiểm tra xem mục có tồn tại trong danh sách hay không, hãy sử dụng Python, trong toán tử. Ví dụ: chúng ta có thể sử dụng toán tử trong các toán tử trong đ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ề đúng và nếu không, thì nó sẽ trả về sai. Xem cú pháp sau của Python trong toán tử.

Làm thế nào để kiểm tra xem một danh sách có chứa hoặc không?

Nếu bạn muốn kiểm tra xem các thành viên trong danh sách không, thì bạn có thể lặp qua các mục và kiểm tra xem chúng có không Bạn có thể làm nếu [lst == none]: ... in "Có" hoạt động. Chia sẻ Cải thiện câu trả lời này theo sau đã trả lời ngày 27 tháng 8 năm 2010 lúc 16:49

Làm thế nào để kiểm tra xem một mục có trong danh sách không?

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: list.index 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, giá trịerror sẽ được nâng lên. Danh sách.Count 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 Set S chưa?

Điều gì xảy ra nếu một yếu tố không tồn tại trong danh sách?

Nếu yếu tố đó không tồn tại, giá trịerror sẽ được nâng lên. Danh sách.Count 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 Set S chưa? 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?

Làm thế nào để bạn kiểm tra xem một danh sách có chứa một con trăn không?

Đếm [] để kiểm tra xem danh sách có chứa không. 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 xảy ra trong danh sách. Nếu phần tử không có trong danh sách thì số lượng [] sẽ trả về 0. Nếu nó trả về một số nguyên dương lớn hơn 0, điều đó có nghĩa là danh sách chứa phần tử. to check if the list contains. Another built-in method in Python, count[] returns the number of times the passed element occurs in the list. If the element is not there in the list then the count[] will return 0. If it returns a positive integer greater than 0, it means the list contains the element.

Làm thế nào để bạn kiểm tra xem một chuỗi có chứa một phần tử từ danh sách trong Python không?

Sử dụng bất kỳ [] để kiểm tra xem chuỗi có chứa phần tử từ danh sách không. Sử dụng bất kỳ chức năng nào là cách cổ điển nhất mà bạn có thể thực hiện nhiệm vụ này và cũng hiệu quả. Hàm này kiểm tra đối sánh trong chuỗi với khớp của từng phần tử của danh sách. to check if string contains element from list. Using any function is the most classical way in which you can perform this task and also efficiently. This function checks for match in string with match of each element of list.

Làm thế nào để bạn tìm thấy các yếu tố không có trong danh sách?

Để tìm các phần tử trong một danh sách không có trong phạm vi khác: sử dụng lớp SET [] để chuyển đổi danh sách đầu tiên thành một đối tượng đã đặt. Sử dụng phương thức chênh lệch [] để có các phần tử trong tập hợp không có trong danh sách.Use the set[] class to convert the first list to a set object. Use the difference[] method to get the elements in the set that are not in the list.

Làm thế nào để bạn kiểm tra xem một phần tử trong danh sách có trống không?

Kiểm tra danh sách trống bằng hàm Len [].Hàm Len [] được sử dụng để tìm số lượng phần tử trong danh sách.Vì vậy, để kiểm tra xem danh sách có trống hoặc không sử dụng Len [], chúng ta có thể chuyển danh sách trống cho hàm Len [] và nếu chúng ta nhận được 0, điều đó có nghĩa là danh sách trống.pass the empty list to the len[] function, and if we get 0, that means the list is empty.

Bài Viết Liên Quan

Chủ Đề