Mục tiêu: in tất cả số trùng lặp từ list số. Tức là in các số xuất hiện nhiều hơn một lần trong list (không unique).
Ví dụ
Input: given_list = [3, 6, 9, 12, 3, 30, 15, 9, 45, 36, 12]
Output: desired_output = [3, 9, 12]
Input: given_list = [-27, 4, 29, -27, -2, -99, 123, 499, -99]
Output: desired_output = [-27, -99]
Code tìm phần tử trùng lặp từ list cho trước:
lst = [3, 6, 9, 12, 3, 30, 15, 9, 45, 36, 12, 12]
dupItems = []
uniqItems = {}
for x in lst:
if x not in uniqItems:
uniqItems[x] = 1
else:
if uniqItems[x] == 1:
dupItems.append(x)
uniqItems[x] += 1
print(dupItems)
Kết quả
[3, 9, 12]
Chương trình hoạt động không chỉ cho list nguyên mà các kiểu khác:
Input: given_list = ['abc', 'def', 'raj', 'zack', 'abc', 'raj']
Output: output_returned = ['abc', 'raj']