在文本文件中查找单词长度n的频率(python)

时间:2018-04-23 02:54:54

标签: python python-3.x

我试图找到文本文件中具有相应长度的单词数,但不允许导入任何内容。 我不知道在设置for循环后如何解决这个问题。 我试过这种方式,但它不是按照有序的方式打印出来,我真的不知道如何以他们想要格式化的方式追加它(以字典的形式,如{1:1482,2:2042 .. 。}这就是我不知道该怎么办。)谢谢

def dictify(book_name):
    infile = open(book_name,'r')
    text = infile.read()
    infile.close()
    words = text.split()
    lengths = dict()
    for word in words:
        length = len(word)
        if length not in lengths:
            lengths[length] = 0
        lengths[length] += 1
    for length, counter in lengths.items():
        print (length, counter)

1 个答案:

答案 0 :(得分:1)

代码:

def dictify(book_name):
  infile = open(book_name,'r')
  text = infile.read()
  infile.close()
  words = text.split()
  lengths = {}
  for word in words:
      length = len(word)
      if length not in lengths:
          lengths[length] = 1
      else:
          lengths[length] += 1
  sd = sorted(lengths.items())
  for k,v in sd:
      print (k, v)

试试这段代码。 告诉它是否有效。