Ta có một list và một tuple. Ta khớp các phần tử của list với tuple và đếm số phần tử trong tuple khớp với list.
Với Counter
Ta dùng Counter từ collections để đếm mỗi phần tử trong tuple. Lại thiết kế for và in để tìm phần tử có mặt trong list và trong kết quả đếm từ tuple.
Ví dụ
from collections import Counter Atup = ('Mon', 'Wed', 'Mon', 'Tue', 'Thu') Alist = ['Mon', 'Thu'] # Tuple và List cho trước print("Given tuple :\n",Atup) print("Given list :\n",Alist) cnt = Counter(Atup) res = sum(cnt[i] for i in Alist) print("Number of list elements in the tuple: \n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given tuple : ('Mon', 'Wed', 'Mon', 'Tue', 'Thu') Given list : ['Mon', 'Thu'] Number of list elements in the tuple: 3Với sum()
Trong cách này ta áp dụng sum. Nếu giá trị từ tuple có mặt trong list trả về 1 ngược lại 0. Vậy sum sẽ cho kết quả chỉ những phần tử từ list có mặt trong tuple.
Ví dụ
Atup = ('Mon', 'Wed', 'Mon', 'Tue', 'Thu') Alist = ['Mon', 'Thu','Mon'] Alist = set(Alist) # Tuple và List cho trước print("Given tuple :\n",Atup) print("Given list :\n",Alist) res = sum(1 for x in Atup if x in Alist) print("Number of list elements in the tuple: \n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given tuple : ('Mon', 'Wed', 'Mon', 'Tue', 'Thu') Given list : {'Mon', 'Thu'} Number of list elements in the tuple: 3