[英]Adding multi-lines into one list?
我有多行電子郵件,需要做幾件事:
stephen.marquard@uct.ac.za
louis@media.berkeley.edu
zqian@umich.edu
rjlowe@iupui.edu
zqian@umich.edu
rjlowe@iupui.edu
... etc
['stephen.marquard@uct.ac.za','louis@media.berkeley.edu','louis@media.berkeley.edu'
.. ['stephen.marquard@uct.ac.za','louis@media.berkeley.edu','louis@media.berkeley.edu'
]
需要找出該列表中最重復的電子郵件,這就是我開始編寫代碼的方式,希望我可以從結束代碼的位置開始完成它!
fname = raw_input("Enter file name: ") if len(fname) < 1 : fname = "mbox-short.txt" fh = open(fname) lines = [] count = 0 # For next step for line in fh: line = line.rstrip() if not line.startswith("From ") : continue x = line.split() emails = x[1] #print y maxapperence = 0 famous = None for mail in emails: count = emails.count(mail) if count > maxapperence: famous = mail print famous apparence = dict() for mail in set(emails): apparence[mail] = emails.count(mail) print apparence]
投入:
stephen.marquard@uct.ac.za louis@media.berkeley.edu zqian@umich.edu rjlowe@iupui.edu zqian@umich.edu rjlowe@iupui.edu cwen@iupui.edu cwen@iupui.edu gsilver@umich.edu gsilver@umich.edu zqian@umich.edu gsilver@umich.edu wagnermr@iupui.edu zqian@umich.edu antranig@caret.cam.ac.uk gopal.ramasammycook@gmail.com david.horwitz@uct.ac.za david.horwitz@uct.ac.za david.horwitz@uct.ac.za david.horwitz@uct.ac.za stephen.marquard@uct.ac.za louis@media.berkeley.edu louis@media.berkeley.edu ray@media.berkeley.edu cwen@iupui.edu cwen@iupui.edu cwen@iupui.edu
如果您的文件僅包含電子郵件地址:
import collections
filename = ''
c = collections.Counter(map(str.strip, open(filename).readlines()))
print(c.most_common(10)) # dumb example of possible output format
第一個例子
emails = """stephen.marquard@uct.ac.za
louis@media.berkeley.edu
zqian@umich.edu
rjlowe@iupui.edu
zqian@umich.edu
rjlowe@iupui.edu
cwen@iupui.edu
cwen@iupui.edu
gsilver@umich.edu
gsilver@umich.edu
zqian@umich.edu
gsilver@umich.edu
wagnermr@iupui.edu
zqian@umich.edu
antranig@caret.cam.ac.uk
gopal.ramasammycook@gmail.com
david.horwitz@uct.ac.za
david.horwitz@uct.ac.za
david.horwitz@uct.ac.za
david.horwitz@uct.ac.za
stephen.marquard@uct.ac.za
louis@media.berkeley.edu
louis@media.berkeley.edu
ray@media.berkeley.edu
cwen@iupui.edu
cwen@iupui.edu
cwen@iupui.edu""".split("\n")
maxapperence = 0
famous = None
for mail in set(emails):
count = emails.count(mail)
if count > maxapperence:
famous = mail
maxapperence = count
print famous, maxapperence
您還可以存儲所有郵件外觀
apparence = dict()
for mail in set(emails):
apparence[mail] = emails.count(mail)
print apparence
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.