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

2024-04-19 18:13:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在文本文件中查找相应长度的单词数,但不允许导入任何内容。 我不知道在设置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)

Tags: 方法textnamein内容forcounter单词
1条回答
网友
1楼 · 发布于 2024-04-19 18:13:30

代码:

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)

试试这个代码。 一定要告诉我它是否有效。在

相关问题 更多 >