-1

对于我的家庭作业,我需要编写这个函数的主体,使用注释作为我的要求。评论中提到的其他功能已提供给我:

def eventfreq(year,month):

'''
  Read DOT1000.txt and return a list of (d,ct)
  pairs, where d is a date object of the form
     datetime.date(A,B,C)
  having A equal to the year argument and 
  B equal to the month argument to eventfreq(year,month).
  The ct part of each pair is the number of records 
  that had a date equal to datetime.date(A,B,C).

  One more requirement:  sort the returned list 
  in increasing order by date (the sorted function will
  do this for you)

  Use fieldict("DOT1000.txt") to get the dictionary
  of tuples used for building the list of pairs
  that eventfreq(year,month) will return.
  '''

这是我的努力:

def eventfreq(year, month):
    N=fieldict('DOT1000.txt')[line][1]
    L = []  # empty List for accumulation
    for line in N:  # data file is standard input 

               st = N[1] # get datetime.date 
               (L[st] = L.get(st,0) + 1)
4

1 回答 1

0

试着检查一下:

def eventfreq(year, month):
    dates = [dt for x, dt, y in fieldict('DOT1000.txt') if dt.year==year and dt.month==month]
    return [(dt, dates.count(dt)) for dt in set(dates)     
于 2012-11-08T04:27:27.917 回答