Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 519871
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T08:05:10+00:00 2026-05-13T08:05:10+00:00

I want to rank multiple lists according to their elements how often they appear

  • 0

I want to rank multiple lists according to their elements how often they appear in each list. Example:

list1 = 1,2,3,4
list2 = 4,5,6,7
list3 = 4,1,8,9

result = 4,1,2,3,4,5,6,7,8 (4 is counted three times, 1 two times and the rest once)

I’ve tried the following but i need something more intelligent and something i can do with any ammount of lists.


 l = []
 l.append([ 1, 2, 3, 4, 5])
 l.append([ 1, 9, 3, 4, 5])
 l.append([ 1, 10, 8, 4, 5])
 l.append([ 1, 12, 13, 7, 5])
 l.append([ 1, 14, 13, 13, 6])

 x1 = set(l[0]) & set(l[1]) & set(l[2]) & set(l[3])
 x2 = set(l[0]) & set(l[1]) & set(l[2]) & set(l[4])
 x3 = set(l[0]) & set(l[1]) & set(l[3]) & set(l[4])
 x4 = set(l[0]) & set(l[2]) & set(l[3]) & set(l[4])
 x5 = set(l[1]) & set(l[2]) & set(l[3]) & set(l[4])
 set1 = set(x1) | set(x2) | set(x3) | set(x4) | set(x5)

 a1 = list(set(l[0]) & set(l[1]) & set(l[2]) & set(l[3]) & set(l[4]))
 a2 = getDifference(list(set1),a1)
 print a1
 print a2

Now here is the problem… i can do it again and again with a3,a4 and a5 but its too complex then, i need a function for this… But i don’t know how… my math got stuck 😉

SOLVED: thanks alot for the discussion. As a newbee i like this system somehow: fast+informative. You helped me all out! Ty

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T08:05:10+00:00Added an answer on May 13, 2026 at 8:05 am
    import collections
    
    data = [
      [1, 2, 3, 4, 5],
      [1, 9, 3, 4, 5],
      [1, 10, 8, 4, 5],
      [1, 12, 13, 7, 5],
      [1, 14, 13, 13, 6],
    ]
    
    def sorted_by_count(lists):
      counts = collections.defaultdict(int)
      for L in lists:
        for n in L:
          counts[n] += 1
    
      return [num for num, count in
              sorted(counts.items(),
                     key=lambda k_v: (k_v[1], k_v[0]),
                     reverse=True)]
    
    print sorted_by_count(data)
    

    Now let’s generalize it (to take any iterable, loosen hashable requirement), allow key and reverse parameters (to match sorted), and rename to freq_sorted:

    def freq_sorted(iterable, key=None, reverse=False, include_freq=False):
      """Return a list of items from iterable sorted by frequency.
    
      If include_freq, (item, freq) is returned instead of item.
    
      key(item) must be hashable, but items need not be.
    
      *Higher* frequencies are returned first.  Within the same frequency group,
      items are ordered according to key(item).
      """
      if key is None:
        key = lambda x: x
    
      key_counts = collections.defaultdict(int)
      items = {}
      for n in iterable:
        k = key(n)
        key_counts[k] += 1
        items.setdefault(k, n)
    
      if include_freq:
        def get_item(k, c):
          return items[k], c
      else:
        def get_item(k, c):
          return items[k]
    
      return [get_item(k, c) for k, c in
              sorted(key_counts.items(),
                     key=lambda kc: (-kc[1], kc[0]),
                     reverse=reverse)]
    

    Example:

    >>> import itertools
    >>> print freq_sorted(itertools.chain.from_iterable(data))
    [1, 5, 4, 13, 3, 2, 6, 7, 8, 9, 10, 12, 14]
    >>> print freq_sorted(itertools.chain.from_iterable(data), include_freq=True)
    # (slightly reformatted)
    [(1, 5),
     (5, 4),
     (4, 3), (13, 3),
     (3, 2),
     (2, 1), (6, 1), (7, 1), (8, 1), (9, 1), (10, 1), (12, 1), (14, 1)]
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to create a Java application bundle for Mac without using Mac. According
Want to know what the stackoverflow community feels about the various free and non-free
Want my FireFox at work to be in sync with my FireFox at my
I want to loop over the contents of a text file and do a
I want to assign the decimal variable "trans" to the double variable "this.Opacity". decimal
I want to create a client side mail creator web page. I know the
I want to reference a COM DLL in a .NET project, but I also
I want to setup a cron job to rsync a remote system to a
I want to make an etag that matches what Apache produces. How does apache
I want to log onto Stack Overflow using OpenID, but I thought I'd set

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.