Computer >> Máy Tính >  >> Lập trình >> Python

Số phần tử phù hợp với điều kiện cụ thể trong Python

Trong bài viết này, chúng ta sẽ xem cách lấy một số phần tử đã chọn ra khỏi danh sách Python. Vì vậy, chúng tôi cần thiết kế một số điều kiện và chỉ các phần tử thỏa mãn điều kiện đó mới được chọn và số lượng của chúng sẽ được in.

Chứng kiến ​​và tổng hợp

Trong cách tiếp cận này, chúng tôi sử dụng điều kiện để chọn các phần tử và sử dụng một số để tính số lượng của chúng. 1 được sử dụng nếu phần tử hiện diện, còn 0 được sử dụng cho kết quả của điều kiện.

Ví dụ

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt = sum(1 for i in Alist if i in('Mon','Wed'))
print("Number of times the condition is satisfied in the list:\n",cnt)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3

Với bản đồ và lambda

Ở đây cũng được sử dụng trong điều kiện nhưng cũng sử dụng hàm lambda và bản đồ. Cuối cùng, chúng tôi áp dụng hàm tổng để tính số lượng.

Ví dụ

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt=sum(map(lambda i: i in('Mon','Wed'), Alist))
print("Number of times the condition is satisfied in the list:\n",cnt)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3

Với giảm

Hàm giảm áp dụng một hàm cụ thể cho tất cả các phần tử trong danh sách được cung cấp cho nó dưới dạng đối số. Chúng tôi sử dụng nó cùng với một điều kiện cuối cùng tạo ra số lượng các phần tử phù hợp với điều kiện.

Ví dụ

from functools import reduce
Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
# Given list
print("Given list:\n", Alist)
cnt = reduce(lambda count, i: count + (i in('Mon','Wed')), Alist, 0)
print("Number of times the condition is satisfied in the list:\n",cnt)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Number of times the condition is satisfied in the list:
3