Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
- 2. несколько тысячи строк
- #! /usr/bin/env python3.6
- # -*- coding: utf-8 -*-
- def reader(fname):
- d={}
- fromto={}
- df=[]
- file = open(fname,"r")
- for line in file:
- # print (line)
- ll=line.strip().split('for')
- sfrom=''.join(ll[0].split())
- sto=ll[1].split()
- if sfrom in fromto: # почему-то проверка не рботает
- df = fromto[sfrom]
- for i in range(len(sto)):
- df.append(sto[i])
- fromto[sfrom]= df
- df.clear()
- print(fromto)
- if __name__ == '__main__':
- reader('list-100.list')
- text = """
- 1. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
- 2. abc@site.com for site@site.ru lkjl@list.com
- """
- from collections import defaultdict
- from_by_to_list = defaultdict(list)
- for line in text.splitlines():
- line = line.strip()
- from_str, to_str = line.split('for')
- from_str = from_str.strip().split()[1]
- to_list = to_str.strip().split()
- from_by_to_list[from_str] += to_list
- print(from_by_to_list)
- print()
- for k, items in from_by_to_list.items():
- print('{} ({}):'.format(k, len(items)))
- for i, x in enumerate(items, 1):
- print(' {}. {}'.format(i, x))
- print()
- defaultdict(<class 'list'>, {'gpk@site.com': ['716745165214@kdf.net', 'kglk@mail.ru', 'lkjl@list.ru', 'ncv@gmail.com'], 'abc@site.com': ['site@site.ru', 'lkjl@list.com']})
- gpk@site.com (4):
- 1. 716745165214@kdf.net
- 2. kglk@mail.ru
- 3. lkjl@list.ru
- 4. ncv@gmail.com
- abc@site.com (2):
- 1. site@site.ru
- 2. lkjl@list.com
- from collections import Counter
- log = """
- gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
- gpk2@site.com for 7167451652142@kdf.net kglk2@mail.ru lkjl2@list.ru ncv2@gmail.com
- gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
- """
- pairs = []
- for line in log.splitlines():
- tmp = line.split()
- from_user = tmp[0]
- pairs.extend((from_user, to_user) for to_user in tmp[2:])
- c = Counter(pairs)
- print(c)
Add Comment
Please, Sign In to add comment