显示TypeError:序列项0:期望字符串,int found;将列表转换为文本时

时间:2016-08-02 16:47:56

标签: 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)

  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__':
函数main中的

表示错误

File "babynames.py", line 78, in main
t = '\n'.join(names)
TypeError: sequence item 0: expected string, int found

这里的名字是一个列表,我的目的是使用

从整个列表中创建文本
    t = '\n'.join(names)#where t is the text  

但它显示int发现,可能是什么原因可以解决问题?

1 个答案:

答案 0 :(得分:2)

这是因为function ShowSearchPage() { $.ajax({ type: 'get', url: $("#pSearch").data('urlSearch'), }).success(function (result) { $("#ShowFormSearch").html(result) }).error(function () { $("#ShowFormSearch").html("An error occurred") }) } 的第一个元素是一个整数,如果你想将它们连接在一起,它应该是一个字符串。试试这个:

JScript example:

WScript.CreateObject(“WScript.Shell”).Popup(“Message”, 0, “Title”, 4096);

VBScript example:

WScript.CreateObject(“WScript.Shell”).Popup “Message”, 0, “Title”, 4096