Làm cách nào để đếm các giá trị duy nhất trong danh sách Python? Show
Cách đơn giản nhất để đếm các giá trị duy nhất trong danh sách Python là chuyển đổi danh sách thành tập hợp xem xét rằng tất cả các phần tử của tập hợp là duy nhất. Bạn cũng có thể đếm các giá trị duy nhất trong danh sách bằng từ điển, các bộ sưu tập. Lớp truy cập, Numpy. độc đáo() hoặc Pandas. độc nhất() Hầu hết các ví dụ của chúng tôi sẽ hoạt động trên cùng một danh sách các số
Chúng tôi sẽ triển khai mọi cách tiếp cận theo chức năng riêng của nó để dễ dàng gọi chúng từ “phần chính” của mã của chúng tôi. Mọi chức năng lấy danh sách số làm đầu vào và trả về danh sách với các giá trị duy nhất Sau đó, phần chính của chương trình sẽ đếm số lượng giá trị duy nhất bằng cách sử dụng phương thức list len() Bắt đầu nào Mục lục 1. Sử dụng vòng lặp For để đếm các giá trị duy nhất trong danh sách PythonCách tiếp cận đầu tiên sử dụng vòng lặp Python for để duyệt qua tất cả các phần tử
Vòng lặp for đi qua mọi phần tử của danh sách và thêm phần tử đó vào danh sách mới nếu nó chưa có trong danh sách mới Hãy viết một đoạn mã chung để in kết quả do hàm này trả về để chúng ta có thể sử dụng khá nhiều đoạn mã tương tự để in kết quả do các hàm khác trả về mà chúng ta sẽ tạo trong các phần tiếp theo
đầu ra là
Dòng duy nhất chúng ta sẽ phải cập nhật khi gọi một chức năng khác là như sau
Mọi thứ khác trong chương trình chính của chúng tôi sẽ giữ nguyên vì nó phụ thuộc vào biến unique_values 2. Đếm các giá trị duy nhất trong danh sách Python bằng một tập hợpTập hợp là một cấu trúc dữ liệu chỉ chứa các phần tử duy nhất. Chúng ta có thể sử dụng thuộc tính này của tập hợp để chỉ lấy lại các giá trị duy nhất
Lưu ý dấu ngoặc nhọn trong đầu ra do hàm trả về một tập hợp
Bạn có thấy thứ tự của các phần tử đã thay đổi so với danh sách ban đầu không? Đó là bởi vì… Kiểu dữ liệu đã đặt không có thứ tự Điểm hay của cách tiếp cận này là mã ngắn gọn hơn rất nhiều (chỉ là một hàm dòng đơn) 3. Sử dụng từ điển để lấy số lượng giá trị duy nhất trong danh sáchChúng ta có thể sử dụng thực tế là các khóa từ điển là duy nhất để lấy các phần tử duy nhất từ danh sách ban đầu không? Chúng ta có thể tạo một từ điển trong đó các phần tử duy nhất trong danh sách là các khóa của từ điển. Các giá trị của từ điển là các bộ đếm cho chúng ta biết mỗi phần tử xuất hiện bao nhiêu lần trong danh sách
Tại mỗi lần lặp của vòng lặp for, chúng tôi xác minh xem một giá trị cụ thể đã tồn tại dưới dạng khóa từ điển chưa. Nếu không, chúng tôi thêm khóa đó vào từ điển và chúng tôi đặt giá trị thành 1 Nếu không, chúng tôi tăng giá trị được liên kết với khóa hiện có trong từ điển Tôi đã thêm một câu lệnh print() trong hàm để hiển thị cho bạn từ điển đã tạo ________số 8_______4. bộ sưu tập. Bộ đếm để đếm các giá trị duy nhất trong danh sáchCách tiếp cận tương tự được giải thích trong phần trước (sử dụng từ điển chuẩn) cũng có thể được triển khai bằng cách sử dụng lớp Counter của mô-đun Bộ sưu tập Hãy tìm hiểu chính xác những gì Counter làm
Thú vị… Nó tạo ra một cấu trúc dữ liệu giống như từ điển trong đó các khóa là các phần tử của danh sách và các giá trị cho biết số lượng của từng phần tử trong danh sách gốc Về cơ bản giống như những gì chúng ta đã tạo trong phần trước bằng cách sử dụng từ điển Python tiêu chuẩn Hãy áp dụng nó vào danh sách các số của chúng ta 0Đây là những phương thức có sẵn cho đối tượng Counter 1Các. keys() là phương thức chúng ta cần để lấy các phần tử duy nhất trong danh sách ban đầu 2Vì vậy, chúng ta có thể thêm chức năng sau vào mã của mình 3đầu ra là 4Cũng giống như cách chúng ta đã thấy khi sử dụng tập hợp, với cách tiếp cận này, chúng ta có thể viết hàm một dòng 5. Đếm các giá trị duy nhất trong danh sách bằng NumPyThư viện NumPy cũng cung cấp cách đếm các giá trị duy nhất trong danh sách (hoặc mảng) NumPy. duy nhất không chỉ cho phép tìm các phần tử duy nhất của một mảng mà còn cung cấp số lần mỗi phần tử có mặt bằng cách sử dụng tham số return_counts 5Vì vậy, hãy tạo một chức năng mới sử dụng np. độc nhất() 6Và đây là những yếu tố độc đáo chúng tôi lấy lại 76. Sử dụng Pandas để nhận các giá trị duy nhất trong danh sáchChúng tôi cũng có thể nhận các giá trị duy nhất trong danh sách bằng Pandas. Để làm điều đó, chúng tôi sẽ sử dụng pandas. độc nhất Nó lấy đầu vào là một mảng một chiều, vì vậy hãy viết hàm của chúng ta 8Đầu ra được trả về bởi chương trình của chúng tôi là 77. Đếm các giá trị duy nhất trong danh sách từ điểnHãy viết mã để làm điều gì đó phức tạp hơn một chút Tôi có một danh sách các từ điển chứa cùng một khóa và tôi muốn lấy số lượng các giá trị duy nhất trên tất cả các từ điển trong danh sách 0Bước đầu tiên là lấy một danh sách chứa tất cả các giá trị trong mỗi từ điển. Để làm điều đó, chúng ta có thể sử dụng cách hiểu danh sách 1Bây giờ chúng ta có thể sử dụng một trong những phương pháp đã được sử dụng trước đây. Ví dụ: chúng ta có thể chuyển danh sách vào bộ sưu tập. Phản đối 2Có ý nghĩa? 8. Cái nào là cách tiếp cận nhanh hơn để đếm các giá trị danh sách duy nhất?Chúng tôi sẽ hoàn thành hướng dẫn này bằng cách so sánh hiệu suất của tất cả các phương pháp chúng tôi đã triển khai để giải quyết vấn đề của mình Để làm điều đó, chúng tôi sẽ tạo một danh sách với các phần tử ngẫu nhiên và sau đó sử dụng mô-đun timeit để đo thời gian thực hiện cho mỗi lần thực hiện Chúng tôi sẽ tạo danh sách các số ngẫu nhiên bằng mô-đun ngẫu nhiên Python 3Đây chỉ là một ví dụ về danh sách chứa 10 số ngẫu nhiên từ 0 đến 9. Để đo lường hiệu suất của chức năng của chúng tôi, chúng tôi sẽ sử dụng một danh sách lớn hơn với các số ngẫu nhiên trong phạm vi rộng hơn 4Hãy lấy hàm đầu tiên mà chúng ta đã tạo, hàm sử dụng vòng lặp for. Đây là cách chúng ta có thể truyền nó vào hàm 5Tham số số đại diện cho số lần thực hiện đầu ra là 6Để đo thời gian thực hiện cho mọi chức năng với time, chỉ cần bao quanh một chức năng đã cho với hai dòng sau giống như cách chúng ta đã thực hiện ở trên 7Hãy so sánh thời gian thực hiện giữa sáu cách tiếp cận được triển khai trong hướng dẫn này 8Cách triển khai nhanh nhất là cách triển khai đầu tiên sử dụng vòng lặp Python for và hầu hết chúng đều có hiệu suất tương đương Phần kết luậnSau khi đọc bài viết này, bạn có rất nhiều cách khác nhau để đếm các giá trị duy nhất trong danh sách Python Tôi hy vọng bạn thấy hướng dẫn này hữu ích để xem cách bạn có thể giải quyết cùng một vấn đề theo nhiều cách khác nhau bằng Python Bạn thích giải pháp nào chúng tôi đã thực hiện hơn? Bài viết liên quanLàm cách nào để mở trình duyệt web bằng Python? Làm việc với JSONPath trong Python. Hướng dẫn để làm quen với nó 4 cách hữu ích để liệt kê các tệp trong một thư mục với Python Claudio Sabato Tôi là Trưởng nhóm công nghệ, Kỹ sư phần mềm và Huấn luyện viên lập trình. Tôi muốn giúp bạn trong hành trình trở thành Nhà phát triển siêu hạng Làm cách nào để kiểm tra giá trị duy nhất trong từ điển Python?Phương pháp #1. Sử dụng vòng lặp Trong phương pháp Naive để thực hiện tác vụ cụ thể này, chúng ta có thể kiểm tra từng giá trị và chèn từng giá trị vào danh sách/băm trong từ điển và khi tôi' .
Làm cách nào để lấy các khóa duy nhất trong từ điển Python?Chương trình Python để lấy tất cả các khóa duy nhất từ một bộ từ điển . Một từ điển chứa cặp khóa & giá trị (đại diện cho khóa. value), một từ điển được tạo bằng cách cung cấp các phần tử trong dấu ngoặc nhọn ({}), được phân tách bằng dấu phẩy. . Khóa trong từ điển hoạt động như một mã định danh cho cặp Làm cách nào để in tất cả các giá trị duy nhất trong từ điển Python?Để in tất cả các giá trị duy nhất trong danh sách từ điển. . Sử dụng vòng lặp for để duyệt qua danh sách Sử dụng vòng lặp for khác để lặp lại các giá trị của từng từ điển Thêm các giá trị vào một đối tượng đã đặt Lặp lại tập hợp và in các giá trị duy nhất ID duy nhất trong từ điển Python là gì?Hàm id() của Python trả về “danh tính” của đối tượng. Danh tính của một đối tượng là một số nguyên, được đảm bảo là duy nhất và không đổi đối với đối tượng này trong suốt thời gian tồn tại của nó . Hai đối tượng có thời gian tồn tại không chồng lấp có thể có cùng giá trị id(). |