繁体   English   中英

将多行添加到一个列表中?

[英]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
  1. 我需要将它们放在一个列表中: ['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' ]
  2. 需要找出该列表中最重复的电子邮件,这就是我开始编写代码的方式,希望我可以从结束代码的位置开始完成它!

     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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM