Python 显示TypeError:序列项0:预期字符串,找到int;将列表转换为文本时

Python 显示TypeError:序列项0:预期字符串,找到int;将列表转换为文本时,python,Python,我试图在google python类中解决babynames问题,并执行以下脚本 def extract_names(filename): year=0 f=open(filename,'rU') contents=f.read() match = re.search(r'(/w+/s/w+/s)(/d/d/d/d)',contents) if match: year=match.group() names=[] names.append(year) n

我试图在google python类中解决babynames问题,并执行以下脚本

def extract_names(filename):
  year=0
  f=open(filename,'rU')
  contents=f.read()
  match = re.search(r'(/w+/s/w+/s)(/d/d/d/d)',contents)
  if match:
    year=match.group()
  names=[]
  names.append(year)

  names_rank={}
  m = re.findall(r'<td>(/d+)</td><td>(/w+)</td><td>(/w+)  </td>',contents)
  for item in m:
    (r,boyname,girlname)=item
  if boyname not in names_rank:
    names_rank[boyname]=r
  if girlname not in names_rank:
    names_rank[girlname]=r
  sorted_names=sorted(names_rank.keys())
  for name in sorted_names:
    names.append(name+' '+names_rank[name])
  return names
def main():
  args = sys.argv[1:]

  if not args:
    print 'usage: [--summaryfile] file [file ...]'
    sys.exit(1)
  summary = False
  if args[0] == '--summaryfile':
    summary = True
    del args[0]
  for filename in args:
    names = extract_names(filename)
    t = '\n'.join(names)

  if summary:
    fileout = open(filename, 'w')
    fileout.write(t + '\n')
    fileout.close()
  else:
    print text

if __name__ == '__main__':
这里的名字是一个列表,我的目标是使用

    t = '\n'.join(names)#where t is the text  

但是找到了它,原因可能是什么。如何解决这个问题?

这是因为
name
的第一个元素是一个整数,如果要将它们连接在一起,它应该是一个字符串。试试这个:

t = '\n'.join(str(n) for n in names)
t = '\n'.join(str(n) for n in names)