Viết chương trình tìm giá trị trùng lặp bằng Python

Đề bài: Tìm giá trị trùng lặp trong một mảng hoặc một cấu trúc dữ liệu bất kỳ. Giá trị trùng lặp là giá trị xuất hiện ít nhất hai lần trong mảng hoặc trong một danh sách hoặc cấu trúc dữ liệu.

Ví dụ:

 Input: ["Hoa", "Lan", "Trang", "Minh", "Hoa", "Ngoc", "Trang"]

Output: ["Hoa", "Trang"]

Trong bài viết này, Quản Trị Mạng sẽ cùng các bạn tìm hiểu cách viết chương trình xác định giá trị trùng lặp bằng ngôn ngữ lập trình Python.

Viết chương trình tìm giá trị trùng lặp bằng Python

Để viết chương trình tìm giá trị trùng lặp bằng Python, chúng ta cần khai báo một hàm Python có thể lấy một danh sách của các giá trị ở bất kỳ loại dữ liệu nào. Dưới đây là code mẫu của chương trình tìm giá trị trùng lặp bằng Python:

def find_duplicates(x):
    length = len(x)
    duplicates = []
    for i in range(length):
        n = i + 1
        for a in range(n, length):
            if x[i] == x[a] and x[i] not in duplicates:
                duplicates.append(x[i])
    return duplicates
names = ["Hoa", "Lan", "Trang", "Minh", 
         "Hoa", "Ngoc", "Trang"]
print(find_duplicates(names))

Kết quả trả về là:

['Hoa', 'Trang']

Hàm trên hoạt động như sau:

  • Hàm trên lấy một danh sách làm đầu vào (input).
  • Sau đó nó tính toán độ dài của danh sách.
  • Tiếp theo, nó tìm kiếm cùng một giá trị trong danh sách được tìm thấy trên chỉ mục đầu tiên.
  • Nếu nó tìm thấy nhiều giá trị, nó sẽ thêm giá trị đó vào một danh sách khác chứa các giá trị trùng lặp.
  • Quá trình này được tiếp tục cho đến khi vòng lặp đi đến chỉ số cuối cùng của danh sách.
  • Kết thúc quá trình, nó trả về danh sách các giá trị trùng lặp.

Bạn có thể sử dụng hàm Python này cho bất kỳ kiểu dữ liệu nào.

Kết luận

Tìm giá trị trùng lặp trong một mảng hoặc trong bất kỳ cấu trúc dữ liệu nào là một trong những câu hỏi phỏng vấn phổ biến. Python cung cấp nhiều hàm tích hợp sẵn cho việc tìm kiếm giá trị trùng lặp nhưng trong các buổi phỏng vấn hoặc kiểm tra trình độ ứng viên của nhà tuyển dụng bạn cần phải sử dụng một thuật toán thay vì hàm có sẵn.

Quản Trị Mạng hy vọng rằng bài viết này sẽ có ích đối với bạn.

Thứ Năm, 24/11/2022 11:49
51 👨 1.261
0 Bình luận
Sắp xếp theo
    ❖ Học Python