Hướng dẫn python find most frequent string in list - python tìm chuỗi thường xuyên nhất trong danh sách
Với rất nhiều giải pháp được đề xuất, tôi ngạc nhiên khi không ai đề xuất những gì tôi coi là một giải pháp rõ ràng (đối với các yếu tố không thể so sánh nhưng có thể so sánh)-[____ 11] [1]. 2 cung cấp chức năng nhanh, có thể tái sử dụng và cho phép bạn ủy thác một số logic khó khăn cho các thành phần thư viện tiêu chuẩn được thử nghiệm tốt. Xem xét ví dụ: Show
Điều này có thể được viết chính xác hơn, tất nhiên, nhưng tôi đang nhắm đến sự rõ ràng tối đa. Hai tuyên bố 3 có thể không được đưa ra để thấy tốt hơn các máy móc hoạt động; Ví dụ, với các bản in chưa được đưa ra:
emits:
Như bạn thấy, 4 là danh sách các cặp, mỗi cặp một mục theo sau là chỉ mục của mục trong danh sách ban đầu (để thực hiện điều kiện chính, nếu các mục "phổ biến nhất" có cùng số lượng cao nhất> 1, kết quả phải là cái sớm nhất). 5 Chỉ các nhóm theo mục (thông qua 6). Hàm phụ trợ, được gọi là một lần mỗi nhóm trong quá trình tính toán 7, nhận và trong nội bộ giải nén một nhóm - một tuple với hai mục 8 trong đó các mục của Iterable cũng là các bộ dữ liệu hai mục, 9 [[các mục của 4]].Sau đó, chức năng phụ trợ sử dụng một vòng lặp để xác định cả số lượng các mục nhập trong ITable của nhóm và chỉ mục gốc tối thiểu; Nó trả về những người như kết hợp "Khóa chất lượng", với chỉ số tối thiểu được thay đổi để hoạt động 7 sẽ xem xét "tốt hơn" những mục xảy ra trước đó trong danh sách ban đầu.Mã này có thể đơn giản hơn nhiều nếu nó lo lắng ít hơn một chút về các vấn đề lớn về thời gian và không gian, ví dụ ....:
cùng một ý tưởng cơ bản, chỉ thể hiện đơn giản và nhỏ gọn hơn ... nhưng, than ôi, một không gian phụ O (n) bổ sung (để thể hiện thời gian của các nhóm) và thời gian O (n bình phương) (để có được 2 của mỗi mục ). Mặc dù tối ưu hóa sớm là gốc rễ của tất cả các điều ác trong lập trình, nhưng cố tình chọn cách tiếp cận O (n bình phương) khi có sẵn một O (n log n), có sẵn quá nhiều so với hạt của khả năng mở rộng!-)Cuối cùng, đối với những người thích "oneliners" với sự rõ ràng và hiệu suất, phiên bản 1 liner thưởng với tên được tạo ra phù hợp :-). Trong bài viết này, chúng ta sẽ xem làm thế nào để tìm ra yếu tố phổ biến nhất trong một danh sách nhất định. Nói cách khác, yếu tố có tần số cao nhất. Với tối đa và đếmChúng tôi áp dụng lý do tại sao hàm thiết lập để có được các yếu tố duy nhất của danh sách và sau đó giữ tài khoản của từng yếu tố trong danh sách. Cuối cùng áp dụng một hàm tối đa để có được phần tử có tần số cao nhất. Thí dụ& nbsp; bản demo trực tiếp # Given list listA = [45, 20, 11, 50, 17, 45, 50,13, 45] print("Given List:\n",listA) res = max(set(listA), key = listA.count) print("Element with highest frequency:\n",res) Đầu raChạy mã trên cho chúng ta kết quả sau - Given List: [45, 20, 11, 50, 17, 45, 50, 13, 45] Element with highest frequency: 45 Với quầyChúng tôi sử dụng chức năng truy cập từ các bộ sưu tập. Sau đó áp dụng chức năng phổ biến nhất để có được kết quả cuối cùng. Thí dụ& nbsp; bản demo trực tiếp from collections import Counter # Given list listA = [45, 20, 11, 50, 17, 45, 50,13, 45] print("Given List:\n",listA) occurence_count = Counter(listA) res=occurence_count.most_common(1)[0][0] print("Element with highest frequency:\n",res) Đầu raChạy mã trên cho chúng ta kết quả sau - Given List: [45, 20, 11, 50, 17, 45, 50, 13, 45] Element with highest frequency: 45 Với quầyChúng tôi sử dụng chức năng truy cập từ các bộ sưu tập. Sau đó áp dụng chức năng phổ biến nhất để có được kết quả cuối cùng. Thí dụfrom statistics import mode # Given list listA = [45, 20, 11, 50, 17, 45, 50,13, 45] print("Given List:\n",listA) res=mode(listA) print("Element with highest frequency:\n",res) Đầu raChạy mã trên cho chúng ta kết quả sau - Given List: [45, 20, 11, 50, 17, 45, 50, 13, 45] Element with highest frequency: 45
Cập nhật vào ngày 04 tháng 6 năm 2020 11:44:36
Làm cách nào để tìm từ phổ biến nhất trong danh sách Python?Cách tiếp cận :.. Nhập lớp bộ đếm từ mô -đun bộ sưu tập .. Chia chuỗi thành danh sách bằng cách sử dụng split (), nó sẽ trả về danh sách các từ .. Bây giờ chuyển danh sách vào thể hiện của lớp quầy .. Hàm 'hầu hết phổ biến ()' bên trong bộ đếm sẽ trả về danh sách các từ thường xuyên nhất từ danh sách và số lượng của nó .. Làm cách nào để nhận được giá trị thường xuyên nhất trong Python?Để tổng hợp số lần một phần tử hoặc số xuất hiện, hàm giá trị của python được sử dụng.Phương thức chế độ () sau đó có thể được sử dụng để có được phần tử thường xảy ra nhất.The mode() method can then be used to get the most often occurring element.
Làm thế nào để bạn tìm thấy yếu tố phổ biến trong danh sách Python?Phương pháp 2: Sử dụng thuộc tính Giao lộ của Set Chuyển đổi danh sách thành được đặt bằng cách chuyển đổi.Sử dụng chức năng giao nhau để kiểm tra xem cả hai bộ có bất kỳ yếu tố chung nào không.Nếu chúng có nhiều yếu tố chung, thì hãy in giao điểm của cả hai bộ.Using Set's intersection property
Convert the list to set by conversion. Use the intersection function to check if both sets have any elements in common. If they have many elements in common, then print the intersection of both sets.
Làm thế nào để bạn tìm thấy tần số tối đa của một phần tử trong danh sách Python?Python |Tìm tần suất của yếu tố lớn nhất trong danh sách..... Tạo một số sao cho tần số của mỗi chữ số là chữ số theo tần số trong số đã cho..... Tiền tố độ dài tối đa sao cho tần số của mỗi ký tự là số lượng ký tự tối đa có tần số tối thiểu .. |