Python Forum
hope to know a rank, if it has. if not, just show 0.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
hope to know a rank, if it has. if not, just show 0.
#2
No need for re
from collections import OrderedDict
data = """
t=A n=1 www.aaa.com
t=A n=2 www.bbb.com
t=A n=3 www.ccc.com

t=B n=1 www.aaa.com
t=B n=2 www.bbb.com
t=B n=3 www.ddd.com

t=C n=1 www.bbb.com
t=C n=2 www.ddd.com
t=C n=3 www.ccc.com
 
t=D n=1 www.aaa.com
t=D n=2 www.bbb.com
t=D n=3 www.ccc.com
t=D n=4 www.eee.com
"""

def process_data(data):
    ranks = OrderedDict()
    for line in data.split('\n'):
        line = line.strip() # because you have rows with just space between groups
        if line:
            line_data = line.split(' ')
            url = line_data[-1]
            group, rank = [item.split('=')[-1] for item in line_data[:-1]]
            ranks.setdefault(group, {})[url] = rank
    return ranks
    
def get_ranks(url, ranks):
    return ((url_ranks.get(url, 0), group) for group, url_ranks in ranks.items())

    
if __name__ == '__main_'':   
    url = "www.ddd.com"
    all_ranks = process_data(data=data)
    for rank, group in get_ranks(url=url, ranks=all_ranks):
        print('The rank is {} is {} group'.format(rank, group))
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Messages In This Thread
RE: hope to know a rank, if it has. if not, just show 0. - by buran - Jul-10-2018, 09:59 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  PIL Image im.show() no show! Pedroski55 2 1,010 Sep-12-2022, 10:19 PM
Last Post: Pedroski55
  PIL Image im.show() no show! Pedroski55 6 5,044 Feb-08-2022, 06:32 AM
Last Post: Pedroski55
  Rank word frequent in a list standenman 1 2,856 Nov-07-2018, 09:24 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020